DataSet中的几个重要对象:
TablesCollection对象:DataSet里的表用DataTable来表示,一个DataSet里面可以包含多个DataTable,这些DataTable就构成了TablesCollection对象。每个DataTable中都包含一个ColumnsColleciton和一个RowsCollection对象。
RelationsCollection对象:各个DataTable之间的关系通过DataRelation来表达,这些DataRelation构成的集合就是RelationsCollection对象。
ExtendedProperties对象:这个对象用来定义特定的信息,比如密码、更新时间等。
1.DataTable对象
创建DataTable
DataTable MyTable;
MyTable = new DataTable ("Test");
MyTable.CaseSensitive = False;//是否区分大小写
MyTable.MinimumCapacity = 100;//数据库的最小记录空间
创建表的列
DataTable MyTable;
DataColumn MyColumn;
MyTable = new DataTable ("表名");
MyColumn = MyTable.Columns.Add("列名",typeof(string));
MyColumn = MyTable.Columns.Add("列名",typeof(int));
创建表的列示例
//方法一
DataColumn tax = new DataColumn();
tax.DataType = typeof(Currency);
tax.Expression = "total*rate*0.20";
//方法二
MyTable.Columns.Add("tax", typeof(Currency), "total*rate*0.20");
2.DataView对象
DataView就时数据视图,为数据库结构提供了外模式的实现。同时DataView也可以为窗体控件和Web控件提供数据绑定功能,在每一个DataTable中内建了一个DataView为:DataTable.DefaultView()。
创建DataView:
DataView sortedView=new DataView(dataTable);
对DataView进行排序:
dataTable.DefaultView.sort="lastName";
dataTable.DefaultView.sort="lastName,FirstName DESC";
对DataView进行筛选和排序:通过RowFilter属性设置实现筛选
DataView dv = new DataView(ds.Tables["Authors"]);
dv.RowFilter = "state = 'CA'";
dv.Sort = "au_lname";
3.DataColumn对象示例
DataColumn colCustomerID = dtCustomers.Columns.Add("CustomerId",typeof(Int32));
colCustomerID.AllowDBNull = false;
colCustomerID.Unique = true;
4.DataRow对象
调用NewRow方法来创建一个新的DataRow对象
DataRow drNewEmployee = dtEmployees.NewRow();
//使用索引或列名操作新行
drNewEmployee(0) = 11;
drNewEmployee(1) = "Smith";
//调用Add方法将行添加到DataRowCollection中
dtEmployees.Rows.Add(drNewEmployee);
对行进行批处理更改:
BeginEdit()开始更改,EndEdit()结束更改,同时将更改结果写入DataSet,CancelEdit(),取消更改
例如:
row.BeginEdit();
对row进行更改
row.EndEdit();
从DataTable中删除DataRow对象:
一:DataRowCollection对象的Remove方法示例
DataRow drEmployee = dtEmployees.Rows(3);
dtEmployees.Rows.Remove(drEmployee);
二:DataRow对象的Delete方法示例
drEmployee.Delete;
比较:Remove方法时从DataRowCollection中删除DataRow,而Dalete方法只是对删除的行做标记。
DataRow类包括RowState属性。RowState属性值表示从第一次创建DataTable(或从数据库加载DataTable)开始,行是否发生更改,如何更改以及通过何种方式更改。属性的可选值:Modified | Detached | Added。
5.创建表关系示例
//创建DataRelation
DataRelation dr;
DataColumn parentCol;
DataColumn childCol;
parentCol = ds.Tables["Customers"].Columns["CustomerID"];
childCol = ds.Tables["Orders"].Columns.["CustomerID"];
dr = new DataRelation("CustOrders", parentCol, childCol);
ds.Relations.Add(dr);
currentParentRow = ds.Tables["Customers"].Rows[DataGridName.SelectedIndex];
foreach(DataRow r in currentParentRow.GetChildRow("CustOrders"))
{
Lable1.Text += r["OrderID"] + ","; |
ADO.NET:DataSet对象详解
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
详解数仓对象设计中序列SEQUENCE原理与应用
本文介绍了SEQUENCE的使用场景和相关的函数的使用方法,并对使用SEQUENCE过程中遇到的常见问题及解决方法进行了汇总。
字段 数据库 序列号 SEQUENCE GaussDB(DWS) -
ADO.NET查询返回记录集DataSet
的一个优点是它可以容纳来自多个表的数据,并且可以维护表之间的关系。如果你需要处理更复杂的查询,比如涉及连接多个
.net c# 服务器 开发语言 数据库