ADO.NET常用对象详解之:DataSet对象

  在ADO.NET中DataSet的作用是为数据源提供一个断开式的存储,而不必关心数据源,操作只用在DataSet中进行就行了。
  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进行筛选和排序:


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"+ ",";
}

6.绑定数据

GridView.DataSource = ds;
GridView.DataMember 
= "Authors";
GridView.DataBind();

GridView.DataSource = ds.Tables["Authors"];
GridView.DataBind();

DataView dv = new DataView(ds.Tables["Authors"]);
dv.RowFilter 
= "state = 'CA'";
GridView.DataSource 
= dv;
GridView.DataBind();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ADO.NET常用对象包括: 1. Connection(连接对象):表示与数据库的连接,用于建立和管理与数据库的连接。它提供了与数据库交互的基础功能,如打开连接、关闭连接等。 2. Command(命令对象):表示要在数据库上执行的命令,如SQL语句或存储过程。它可以执行查询、插入、更新、删除等操作,并提供了执行命令和获取结果的方法。 3. DataReader(数据读取器):提供了一种快速、只读的数据访问方式,用于逐行读取数据结果集。它以只进只读的方式访问数据库,适用于大量数据的情况,不需要将整个结果集加载到内存。 4. DataSet(数据集):是一个内存的数据缓存,可以包含多个数据表、关系和约束。它可以从数据库填充数据,也可以将修改后的数据提交回数据库,提供了对数据的缓存、操作和管理。 5. DataAdapter(数据适配器):用于在DataSet和数据源之间进行数据的填充和更新。它可以从数据源检索数据并将其填充到DataSet,也可以将DataSet的数据更新到数据源。 6. DataTable(数据表):表示内存的一个表格,包含多个行和列。它是DataSet的一个成员,用于存储和操作数据。 7. DataCommandBuilder(命令生成器):用于自动生成针对单个表的Insert、Update和Delete命令,简化了更新DataSet数据到数据源的操作。 这些对象提供了一系列方法和属性,用于与数据库进行交互、执行命令、读取数据和更新数据等操作,帮助开发人员在.NET平台上进行数据库访问和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值