DataSet,DataTable与DataView,DataGridView,DataSource之间的联系

每一个DataSet都是一个或多个DataTable 对象的集合(DataTable相当于数据库中的表),这些对象由数据行(DataRow)、数据列(DataColumn)等组成。 DataView是对某一个DataTable建立视图,用来在观察数据时提供排序和过滤的功能。

1.DataSet与DataTable的相互转换
DataSet ds = new DataSet();
DataTable dt = ds.Tables[0];

2.DataTable的简单操作
1)获取所有行。
DataRow[] rows = dt.Select();

2)按主键顺序(如没有主键,则按照添加顺序)获取符合筛选条件的行。
DataRow[] rows = dt.Select(“ID>52”);

3)获取符合筛选条件的行,并按指定的排序条件排序。

DataRow[] rows = dt.Select(“ID>52”,“ID DESC”);

4)获取符合筛选条件和指定状态的行,并按指定的排序条件排序。
string strExpr = “ID>52”;
string strSort = “ID DESC”;
DataRow[] foundRows = dt.Select(strExpr, strSort, DataViewRowState.OriginalRows);

3.合并两个DataTable表的数据
DataTable dt1 = ds.Tables[0];
DataTable dt2 = ds.Tables[1];
dt1.Merge(dt2, true, MissingSchemaAction.AddWithKey);
//或者
//将两个DataTable合并成一个
DataTable d1 = null;//源数据1
DataTable d2 = null;//源数据2
DataTable newDataTable = d1.Copy();//复制出一个新表
//添加DataTable2的数据
foreach (DataRow dr in d2.Rows)
{
newDataTable.ImportRow(dr);//将两个datatable合并
}

4.DataView
DataView dv = ds.Tables[0].DefaultView;
//或
DataView dv = new DataView(ds.Tables[“Product”], “ID > 52”, “ID DESC”,
DataViewRowState.CurrentRows);

5.DataColumn创建与赋值
DataColumn dc = new DataColumn(“ID”, typeof(string));
dt.Columns.Add(dc);
DataRow row = dt.NewRow();
row[“ID”] = “1”;

发布了88 篇原创文章 · 获赞 23 · 访问量 7442

猜你喜欢

转载自blog.csdn.net/S0001100/article/details/103349056