前言
简单讲解一下dataset和datatable,以excel对比,dataset相当于一个excel文件,datatable相当于excel的一张表格。datatable可以单独应用,dataset里面可以含有多张datatable。
1.定义datatable
// 定义datable
DataTable dt = new DataTable();
2.定义列(columns)
定义列采用add方法,此方法有三个重载,即可以三种方式添加列。这里只说两种。可根据需要查看重载函数,确定那种方法
//方法1,直接添加
dt.Columns.Add("name", typeof(string));
//方法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)
添加的行里面的参数要与columns对应。
//方法1,直接添加,但是行必须与之前定义的列相对应,本例中行有两个列
dt.Rows.Add("LL", 28);
//方法2,先定义row,再添加
DataRow dr = dt.NewRow();
dr["name"] = "DD";
dr["age"] = 29;
dt.Rows.Add(dr);
4.datatable数据获取
通过dt.rows[i]获取到i行,然后通过dt.rows[i][j]获取到j列数据,也可以通过dt.rows[i][“name”]进行获取,数据也可以通过select方法进行筛选。
//方法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();
}
DataRow[] rowArr = dt.Select("name='LL'");
5.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一样