精华内容
下载资源
问答
  • 假如现在我的源数据表只有3个字段,能不能让我的DataGrid在一行中显示5条对应的记录呢?答案是肯定的!下面就来看看具体实现的方法。 假定源表中有三列,UserNM,UserID,Note。最终的DataGrid中分5列显示。 1、我们...
    正常情况下,DataGrid的一行就是对应数据源中的一条记录!假如现在我的源数据表只有3个字段,能不能让我的DataGrid在一行中显示5条对应的记录呢?答案是肯定的!下面就来看看具体实现的方法。 

    假定源表中有三列,UserNM,UserID,Note。最终的DataGrid中分5列显示。

    1、我们必须对源表进行转换,转换后的新表的一行就包括5条源表的记录:

    private DataTable MakeDT(DataTable dt,int iCols)

    dt为待转换的源表,iCols为新表的一行包含源表的记录条数,本例为5

    转换后得到的新表的列名为从COL0开始,到COL(iCols*iColOfSrc-1)
    {
    int iColOfSrc = 3; 源表待转换的列数
    int ii,jj,kk,ll;
    int iNewRows;
    string strColNM = "";

    DataTable newdt = new DataTable();
    for(ii=0;ii<iCols*iColOfSrc;ii++)
    {
    strColNM = "COL"+ii.ToString();
    newdt.Columns.Add(new DataColumn(strColNM,typeof(string)));
    }
    if(dt.Rows.Count == 0)
    return newdt;
    iNewRows = (dt.Rows.Count+iCols-1)/iCols;
    kk = 0;
    for(ii=0;ii<iNewRows;ii++)
    {
    DataRow dr = newdt.NewRow();
    for(jj=0;jj<iCols;jj++)
    {
    kk = ii*iCols + jj;
    if(kk<dt.Rows.Count)
    {
    ll = jj*iColOfSrc;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = dt.Rows[kk]["UserNM"];
    ll = jj*iColOfSrc + 1;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = dt.Rows[kk]["UserID"];
    ll = jj*iColOfSrc + 2;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = dt.Rows[kk]["Note"];
    }
    else
    {
    ll = jj*iColOfSrc;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = "";
    ll = jj*iColOfSrc + 1;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = "";
    ll = jj*iColOfSrc + 2;
    strColNM = "COL"+ll.ToString();
    dr[strColNM] = "";
    }
    }
    newdt.Rows.Add(dr);
    }
    return newdt;
    }


    2、在DataGrid的Bind方法中,每次DataBind后须将所有单元格背景置为White:

    源数据表存放在ViewState["DS_UserInfo"]中,其ViewState为DataSet

    void BindDataGrid()
    {
    if(ViewState["DS_UserInfo"] != null)
    {
    DataSet ds = new DataSet();
    ds = (DataSet)ViewState["DS_UserInfo"];
    DataTable dt = new DataTable();
    dt = MakeDT(ds.Tables["tab_User"],5);注意这里的参数5!   

    this.DG_User.DataSource = dt.DefaultView;
    this.DG_User.DataBind();

    以下代码将所有单元格背景置为white

    int ii,jj;
    for(ii=0;ii<this.DataGrid1.Items.Count;ii++)
    {
    if((this.DG_User.Items[ii].ItemType == ListItemType.Item)
    ||(this.DG_User.Items[ii].ItemType == ListItemType.AlternatingItem)
    ||(this.DG_User.Items[ii].ItemType == ListItemType.SelectedItem))
    {
    for(jj=0;jj<5;jj++)
    {
    this.DG_User.Items[ii].Cells[jj].BackColor = System.Drawing.Color.White;
    }
    }
    }

    }
    }

    3、在ItemCommand事件处理中:

    private void DG_User_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    int iClick = -1;
    if(e.CommandName.CompareTo("COL0") == 0)
    iClick = 0;
    if(e.CommandName.CompareTo("COL3") == 0)
    iClick = 1;
    if(e.CommandName.CompareTo("COL6") == 0)
    iClick = 2;
    if(e.CommandName.CompareTo("COL9") == 0)
    iClick = 3;
    if(e.CommandName.CompareTo("COL12") == 0)
    iClick = 4;

    if(iClick == -1)
    return;

    this.DG_User.SelectedIndex = e.Item.ItemIndex;

    int ii,jj;
    for(ii=0;ii<this.DG_User.Items.Count;ii++)
    {
    if((this.DG_User.Items[ii].ItemType == ListItemType.Item)
    ||(this.DG_User.Items[ii].ItemType == ListItemType.AlternatingItem)
    ||(this.DG_User.Items[ii].ItemType == ListItemType.SelectedItem))
    {
    for(jj=0;jj<5;jj++)
    {
    this.DG_User.Items[ii].Cells[jj].BackColor = System.Drawing.Color.White;
    }
    }
    }
    e.Item.Cells[iClick*3].BackColor = System.Drawing.Color.MediumSpringGreen;
    }


    4、在ASPX文件中,DataGrid的第一列为绑定COL0的按钮列,其后紧跟COL0,COL1,COL2;以此类推,绑定其他各列数据。
    展开全文
  • 如果直到最后一条记录关键词与待查找关键词都不相等,则查找失败 下面是用实例进行说明基本查找:假设给定一数组{10,8,3,6,5,7,1,4,2,9},查找此数组元素5,如果此元素就返回元素的索引值。如果...

    1.基本查找(顺序查找)

    顺序查找又叫做线性查找,是最基本的查找方法。

    基本查找的流程
    1.从表中的第一个或者最后一个记录开始,逐个对比该记录中的关键词与待查找关键词是否相等。
    2.如果某条记录中的关键词与待查找关键词相等,则表示查找成功,返回所查找记录;如果直到最后一条记录,其关键词与待查找关键词都不相等,则查找失败
    • 下面是用实例进行说明基本查找:假设给定一数组{10,8,3,6,5,7,1,4,2,9},查找此数组中元素5,如果有此元素就返回元素的索引值。如果没有查找到此元素,就返回-1。
    public class MyTest {
        public static void main(String[] args) {
            //基本查找(顺序查找)
            int []arr={10,8,3,6,5,7,1,4,2,9};
            int index= findIndex(arr,5);
            System.out.println(index);
        }
    
        private static int findIndex(int[] arr, int elements) {
            for (int index = 0; index < arr.length; index++) {
                if (arr[index] == elements) {
                    System.out.println("查找的元素找到了");
                    //如果查找的元素找到了,返回该元素的索引值
                    return index;
                }
    
            }
            //如果没有查找到该元素,就返回-1,这里的-1指的是没有找到的意思
            return -1;
        }
    }
    

    运行后的结果为:

    在这里插入图片描述


    2.二分查找(折半查找)

    对于满足有序表这样存储结构的数据,我们采用的是二分查找,又称折半查找。

    二分查找的基本思想
    1.在有序表中,先采取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;
    2.若给定值小于中间记录的关键词,则在中间记录的左半区继续查找
    3.若给定的值大于中间记录的关键字,则会在中间记录的右半区继续查看
    4.不断重复以上上述操作,直到查找成功,或所有区域查找区域无记录,查找失败为止

    注意:二分查找的数据类型必须是有序的

    • 利用二分查找思想,可以对有序的数组元素进行查找。假设有一个有序序数组{1,2,3,4,4,4,6,7,8,9,10}中的元素4进行查找,如果有此元素就进行返回元素的索引值;如果没有此元素,就返回-1。

    在这里插入图片描述

    分析
    1.我们拿这个元素和中间索引所对应的这个元素去比较;
    2.如果你要找的这个元素正好等于中间索引所对应的这个元素,那就返回这个索引;
    3.如果你要查找的这个元素比中间索引所对应的这个元素大时,移动最小索引=中间索引+1;
    4.如果你要查找的这个元素比中间索引对应的这个元素小时,移动最大索引=中间索引-1;
    5.不断重复以上的操作,重合时就代表找到,没有重合就代表没有这个元素。
    public class MyTest {
        public static void main(String[] args) {
            //对数组进行二分查找
            int[] arr = {1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 10};
            //二分查找:每次进行拿查找的元素与中间的元素进行比较
            int index = binaryFindIndex(arr, 4);
            System.out.println("元素4的索引为"+index);
        }
    
        private static int binaryFindIndex(int[] arr, int elements) {
            int minIndex = 0;
            int maxIndex = arr.length - 1;
            int midIndex = (minIndex + maxIndex) / 2;
    
            while (minIndex <= maxIndex) {
                if (elements > arr[midIndex]) {
                    minIndex = midIndex + 1;
                } else if (elements < arr[midIndex]) {
                    maxIndex = midIndex - 1;
                } else {
                    return midIndex;
                }
                midIndex = (minIndex + maxIndex) / 2;
            }
            return -1;
        }
    }
    
    

    3.总结

    基本查找与二分查找
    基本查找:从头开始挨个往后找,该元素第一次出现的索引
    二分查找:每一次都查找中间索引对应的那个元素,比较大小。就能减少一半的元素。注意:二分查找不是找该元素第一次出现的索引
    展开全文
  • 我创建了一个三个字段user_account, session_id, time。...我要做的是,设置登录有效时间是5分钟,也就是说如果5分钟之内,用户没有再次访问服务端的话,就会删除它的这条记录。 我的实现思路是,设置一个定时...
    • 我创建了一个表session,有三个字段user_account, session_id, time。我们只需要关注time这个字段。在mysql中该字段是bigint类型,也就是c++中的long。
    • time保存的是上一次user_account用户访问服务端的时间。我要做的是,设置登录有效时间是5分钟,也就是说如果5分钟之内,用户没有再次访问服务端的话,就会删除它的这条记录。
    • 我的实现思路是,设置一个定时任务,让他每隔5分钟遍历一次session表,删除那些超时的数据,所谓超时,就是当前系统时间减去记录在time里面的时间大于5分钟。
    • 首先来学习一些东西:
      • 首先在创建定时任务之前要开启event_scheduler,具体如下:
        sql SET GLOBAL event_scheduler = 1;

        • 用如下方法查看是否开启成功:
        SHOW VARIABLES LIKE 'event_scheduler';
        
        • 然后自己先用下面的小例子测试一下,看是不是真的可以:
        CREATE TABLE aaa(timeline TIMESTAMP);
        CREATE EVENT e_test_insert
        ON SCHEDULE EVERY 1 SECOND
        DO INSERT aaa VALUE(CURRENT_TIMESTAMP);
        

        然后立马查看aaa中的内容select * from aaa;如果为空则失败。

        • 测试完了不要忘了关闭哪个定时任务,否则服务器炸了,不要来找我:
         alter event e_test_insert disable;
        
        • 顺便把aaa表清空
         delete from aaa ;
        
        • 然后删除任务
        drop event e_test_insert;
        
        • 查看所有任务
        show events;
        
    • 下面进入正题:
     create event delInvalidSession 
     on schedule every 5 minute 
     do 
     delete from session 
     where timestampdiff(minute,from_unixtime(time),now())>5;
    

    解释:
    create event delInvalidSession创建了一个名为delInvalidSession的任务。
    on schedule every 5 minute设置没5分钟运行一次。
    do 都后面就是一般的sql语句了,没有什么好奇的。
    然后关于timestampdiff(minute,from_unixtime(time),now())这个函数,解释如下,也可以自己去查阅官方文档。
    在这里插入图片描述

    • from_unixtime(time)这个函数,把数据库中以long格式存储的从’1970-01-01 00:00:00‘开始到现在的秒数,转化为日期时间格式,用于计算。这里防止另一个相关函数的解释:
      在这里插入图片描述
      最后放一张我执行的结果图:
      在这里插入图片描述
      我在写博客的同时select了一下,然后我写完上面的内容(超过5分钟),在select一下,发现之前那条记录已经被删除了,证明我的设置起作用了。
    • 结束。欢迎评论区讨论。
    展开全文
  • 条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。不过所有记录都完全相同的字段序列,相当于一个结构化的纯文本形式。它比Excel文件更加简介,XLS文本是电子表格,它包...

    CSV,全称为Comma-Separated Values,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。不过所有记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。它比Excel文件更加简介,XLS文本是电子表格,它包含了文本、数值、公式和格式等内容,而CSV中不包含这些内容,就是特定字符分隔的纯文本,结构简单清晰。所以,有时候用CSV来保存数据是比较方便的。本节中,我们来讲解Python读取和写入CSV文件的过程。

    1. 写入

    这里先看一个最简单的例子:

    import csv
    
    with open('data.csv', 'w') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(['id', 'name', 'age'])
        writer.writerow(['10001', 'Mike', 20])
        writer.writerow(['10002', 'Bob', 22])
        writer.writerow(['10003', 'Jordan', 21])
    复制代码

    首先,打开data.csv文件,然后指定打开的模式为w(即写入),获得文件句柄,随后调用csv库的writer()方法初始化写入对象,传入该句柄,然后调用writerow()方法传入每行的数据即可完成写入。

    运行结束后,会生成一个名为data.csv的文件,此时数据就成功写入了。直接以文本形式打开的话,其内容如下:

    id,name,age
    10001,Mike,20
    10002,Bob,22
    10003,Jordan,21
    复制代码

    可以看到,写入的文本默认以逗号分隔,调用一次writerow()方法即可写入一行数据。用Excel打开的结果如图5-6所示。

    图5-6 打开结果

    如果想修改列与列之间的分隔符,可以传入delimiter参数,其代码如下:

    import csv
    
    with open('data.csv', 'w') as csvfile:
        writer = csv.writer(csvfile, delimiter=' ')
        writer.writerow(['id', 'name', 'age'])
        writer.writerow(['10001', 'Mike', 20])
        writer.writerow(['10002', 'Bob', 22])
        writer.writerow(['10003', 'Jordan', 21])
    复制代码

    这里在初始化写入对象时传入delimiter为空格,此时输出结果的每一列就是以空格分隔了,内容如下:

    id name age
    10001 Mike 20
    10002 Bob 22
    10003 Jordan 21
    复制代码

    另外,我们也可以调用writerows()方法同时写入多行,此时参数就需要为二维列表,例如:

    import csv
    
    with open('data.csv', 'w') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(['id', 'name', 'age'])
        writer.writerows([['10001', 'Mike', 20], ['10002', 'Bob', 22], ['10003', 'Jordan', 21]])
    复制代码

    输出效果是相同的,内容如下:

    id,name,age
    10001,Mike,20
    10002,Bob,22
    10003,Jordan,21
    复制代码

    但是一般情况下,爬虫爬取的都是结构化数据,我们一般会用字典来表示。在csv库中也提供了字典的写入方式,示例如下:

    import csv
    
    with open('data.csv', 'w') as csvfile:
        fieldnames = ['id', 'name', 'age']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerow({'id': '10001', 'name': 'Mike', 'age': 20})
        writer.writerow({'id': '10002', 'name': 'Bob', 'age': 22})
        writer.writerow({'id': '10003', 'name': 'Jordan', 'age': 21})
    复制代码

    这里先定义3个字段,用fieldnames表示,然后将其传给DictWriter来初始化一个字典写入对象,接着可以调用writeheader()方法先写入头信息,然后再调用writerow()方法传入相应字典即可。最终写入的结果是完全相同的,内容如下:

    id,name,age
    10001,Mike,20
    10002,Bob,22
    10003,Jordan,21
    复制代码

    这样就可以完成字典到CSV文件的写入了。

    另外,如果想追加写入的话,可以修改文件的打开模式,即将open()函数的第二个参数改成a,代码如下:

    import csv
    
    with open('data.csv', 'a') as csvfile:
        fieldnames = ['id', 'name', 'age']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writerow({'id': '10004', 'name': 'Durant', 'age': 22})
    复制代码

    这样在上面的基础上再执行这段代码,文件内容便会变成:

    id,name,age
    10001,Mike,20
    10002,Bob,22
    10003,Jordan,21
    10004,Durant,22
    复制代码

    可见,数据被追加写入到文件中。

    如果要写入中文内容的话,可能会遇到字符编码的问题,此时需要给open()参数指定编码格式。比如,这里再写入一行包含中文的数据,代码需要改写如下:

    import csv
    
    with open('data.csv', 'a', encoding='utf-8') as csvfile:
        fieldnames = ['id', 'name', 'age']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writerow({'id': '10005', 'name': '王伟', 'age': 22})
    复制代码

    这里需要给open()函数指定编码,否则可能发生编码错误。

    另外,如果接触过pandas等库的话,可以调用DataFrame对象的to_csv()方法来将数据写入CSV文件中。

    2. 读取

    我们同样可以使用csv库来读取CSV文件。例如,将刚才写入的文件内容读取出来,相关代码如下:

    import csv
    
    with open('data.csv', 'r', encoding='utf-8') as csvfile:
        reader = csv.reader(csvfile)
        for row in reader:
            print(row)
    复制代码

    运行结果如下:

    ['id', 'name', 'age']
    ['10001', 'Mike', '20']
    ['10002', 'Bob', '22']
    ['10003', 'Jordan', '21']
    ['10004', 'Durant', '22']
    ['10005', '王伟', '22']
    复制代码

    这里我们构造的是Reader对象,通过遍历输出了每行的内容,每一行都是一个列表形式。注意,如果CSV文件中包含中文的话,还需要指定文件编码。

    另外,如果接触过pandas的话,可以利用read_csv()方法将数据从CSV中读取出来,例如:

    import pandas  as pd
    
    df = pd.read_csv('data.csv')
    print(df)
    复制代码

    运行结果如下:

         id    name  age
    0  10001    Mike   20
    1  10002     Bob   22
    2  10003  Jordan   21
    3  10004  Durant   22
    4  10005      王伟   22
    复制代码

    在做数据分析的时候,此种方法用得比较多,也是一种比较方便地读取CSV文件的方法。

    本节中,我们了解了CSV文件的写入和读取方式。这也是一种常用的数据存储方式,需要熟练掌握。


    本资源首发于崔庆才的个人博客静觅: Python3网络爬虫开发实战教程 | 静觅

    如想了解更多爬虫资讯,请关注我的个人微信公众号:进击的Coder

    weixin.qq.com/r/5zsjOyvEZ… (二维码自动识别)


    展开全文
  • innodb行记录格式

    2018-03-16 14:46:57
    该行数据有null值用1表示,无用0表示记录头信息:包含记录列数,记录类型,页条记录的相对位置等信息 5字节事务ID:6字节回滚指针:7字节Rowid:6字节实际数据注:char字段没全占用长度空间,会用0x20填充;...
  • DSO数据激活后丢失问题

    千次阅读 2009-03-28 15:06:00
    今天做HR模型的调入调出模型时候,发现一个很奇怪的现象,新数据表中有12条数据,并且数据字段都存在,可是激活后,却只有5条记录,并且数据字段都变为0,这个问题测试了好几次,都是这样,开始百思不得解,因为...
  • TESTDB数据库中有个表TABLE1,有5条记录(1-5); 在此时进行了数据库完整备份:dump database TESTDB to ‘c:\testdb.data’; 接着向TABLE1表中插入了5条记录(6-10),此时的时间是:2009-4-29 17:30:09; 然后...
  • SYBASE ASE数据误删除之后的恢复处理

    千次阅读 2012-05-29 16:49:18
    test数据库中有个表tab1,有5条记录(1-5);在此时进行了数据库完整备份:dump database test to ‘/opt/data/test.dump’;接着向tab1表中插入了5条记录(6-10),此时的时间是:2009-4-29 17:30:09;然后删除了...
  • nc63元数据开发

    2018-07-18 19:53:17
    组件发布元数据后,自动在MD_COMPONENT表中插入一条记录; 2)版本号:记录组件当前版本,防止旧版本覆盖新版本; 3)创建时间:创建组件的时间; 4)代码风格:主要针对主子表及多子表结构; 5)多语资源id:显示名的多...
  • C#数据结构

    2013-12-10 11:49:54
    统中,数据表中的一条记录就是一个数据元素。这条记录中的学生学号、姓名、 性别、籍贯、出生年月、成绩等字段就是数据项。数据项分为两种,一种叫做初 等项,如学生的性别、籍贯等,在处理时不能再进行分割;另一种...
  • 《大数据:互联网大规模数据挖掘与分布式处理》...(1)对每个购物篮,在频繁项集表中检查哪些项是频繁的; (2)通过一个双重循环生成所有的频繁项对; (3)对每个频繁项对,在存储计数值的数据结构中相应的计数值上...
  • 《大数据:互联网大规模数据挖掘与分布式处理》...(1)对每个购物篮,在频繁项集表中检查哪些项是频繁的; (2)通过一个双重循环生成所有的频繁项对; (3)对每个频繁项对,在存储计数值的数据结构中相应的计数值上...
  • 直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增 1 的有序表。 在日常生活中,经常碰到这样一类排序问题:把新的...
  • 数据结构演示软件

    2013-06-02 21:32:36
    (1)在顺序表中插入一个数据元素(ins_sqlist) (2)删除顺序表中一个数据元素(del_sqlist) (3)合并两个有序顺序表(merge_sqlist) 2. 链表 (1)创建一个单链表(Crt_LinkList) (2)在单链表中插入一个...
  • 海量数据处理

    千次阅读 2012-09-25 20:11:27
    1、一千万短信,重复,以文本文件的形式保存,一行一 重复。请用5分钟时间,找出重复...并记录其地址和信息长度和重复次数,1千万信息,记录者几个信息还放得下。同hash code且等长就是疑似相同,比较
  • 数据结构题

    2012-09-10 14:48:39
    25.设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( )。 (A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,20 26...
  • 数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    2. 数据元素之间的关系在计算机中有几种表示方法?各有什么特点?【燕山大学1999 二、2(4分)】 3. 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么? 使用抽象数据...
  • 从外部导入sql表其中5条记录,执行近2万条后提示Not enough memory, application terminated!然后mysql小海豚自己退出。 而选中剩余记录接着导入仍可插入表中 想问一下各位大神,是存在什么缓存问题吗 另外...
  • 数据结构课设

    2013-01-03 02:51:25
    任务:可以读入一个任意大小的迷宫数据,分别用广度和深度搜索的方法求出一走出迷宫的路径,并将路径输出(最佳路径); 要求:以较为直观的方式显示结果 3、 Huffman编码 任务 :对一篇英文文章,统计各字符...
  • 个当前故障记录,按照正常逻辑,如果小盒子发过来的记录会进行逻辑判断,如果是存在的,则会更新这条记录的更新时间。否则就新增一条记录。 自己在debug的情况下,拿着出问题的数据,反复测试,从早上7...
  • 查询数据是指从数据库数据表或视图获取所需要的数据,在mysql,可以使用SELECT语句来查询数据。根据查询条件的不同,数据库系统会找到不同的数据。 SELECT语句的基本语法格式如下: [sql] view plain copy ...
  • (1)在顺序表中插入一个数据元素(ins_sqlist) (2)删除顺序表中一个数据元素(del_sqlist) (3)合并两个有序顺序表(merge_sqlist) 2. 链表 (1)创建一个单链表(Crt_LinkList) (2)在单链表中插入一个结点...
  • (1)在顺序表中插入一个数据元素(ins_sqlist) (2)删除顺序表中一个数据元素(del_sqlist) (3)合并两个有序顺序表(merge_sqlist) 2. 链表 (1)创建一个单链表(Crt_LinkList) (2)在单链表中插入一个结点...
  • MD5加密

    2021-02-05 23:00:54
    什么是MD5 MD5信息摘要算法,一种被广泛使用的密码散列函数,主要增强算法的复杂度,且该算法不可逆;...创建一个简单的sql数据表: 插入一条记录: INSERT INTO `user` VALUES (1,'张三','1234
  • 在3D开发中,我们可以用ArcMap对应ArcScene,其中MxDocument对象对应SxDocument对象,Map对象对应着Scene对象,而相对于Display显示对象,在ArcScene中有SceneGraph对象。在对象模型图的顶部是Application对象,从它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 430
精华内容 172
关键字:

其数据表中有5条记录