首页 > 代码库 > datatable dataset

datatable dataset

简单讲解一下dataset和datatable,以excel对比,dataset相当于一个excel文件,datatable相当于excel的一张表格。datatable可以单独应用,dataset里面可以含有多张datatable。

下面讲一下datatable的用法:

1、定义datatable

            // 定义datable
            DataTable dt = new DataTable();

2、定义列(columns),定义列采用add方法,此方法有三个重载,即可以三种方式添加列。这里只说两种。可根据需要查看重载函数,确定那种方法

            //方法1,直接添加
            dt.Columns.Add("name", typeof(string));  

表示添加了一列,此列的表头是name,string类型。第二种添加方法为:先用datacolumn定义column,然后直接添加column

            //方法2,先定义一个列,后添加,可看add的重载函数,此方法还可以添加默认值
            DataColumn dc = new DataColumn("age", typeof(int));
            dt.Columns.Add(dc);
            DataColumn dcc = new DataColumn("sex", typeof(string));
            dcc.DefaultValue = "male";//设定初始值

3、定义行(rows),定义行采用add方法,此方法有两个重载,与列类似,可以直接add也可以先定义datarow,然后添加

  //方法1,直接添加,但是行必须与之前定义的列相对应,本例中行有两个列          
            dt.Rows.Add("LL", 28);
            //方法2,先定义row,再添加
            DataRow dr = dt.NewRow();
            dr["name"] = "DD";
            dr["age"] = 29;
            dt.Rows.Add(dr);

添加的行里面的参数要与columns对应。

4、datatable数据获取

通过dt.rows[i]获取到i行,然后通过dt.rows[i][j]获取到j列数据,也可以通过dt.rows[i][“name”]进行获取

            //方法1,通过for循环进行遍历,然后进行判断是否需要
            for (int i=0;i<dt.Rows.Count;i++)
            {
                for(int j=0;j<dt.Columns.Count;j++)
                {
                    Console.Write(dt.Rows[i][j]);
                    Console.Write("    ");
                }
                Console.WriteLine();
            }

数据也可以通过select方法进行筛选。

 DataRow[] rowArr = dt.Select("name=‘LL‘");

以上为datatable最基础的用法,可以查看其定义中的相关方法等。

 

下面说一下dataset

定义完dataset以后,只要用dataset.tables.add方法给dataset添加datatable即可。

            DataSet ds = new DataSet("myDS");//两个重载,myDS为名称,默认为NewDataSet
            DataTable table1 = ds.Tables.Add("table1");//添加一个表table1
            table1.Columns.Add("name");//之后数据添加与一般table一样

 

datatable dataset