DataSet核心解释

正是由于DataSet对象的存在,才使得程序员在编程序时可以屏蔽数据库之间的差异,从而获得一致的编程模型。
在DataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据行(DataRow)与列(DataColumn)

的集合。DataTable会负责维护每一条数据行保留它的初始状态(Original State)和当前的状态(Current State),以

解决多人同时修改数据时引发的冲突问题。
DataSet是新的与数据源无关的数据表示方式。为了用来引入和容纳数据源的数据,DataSet被设计为和另一种对象配

合工作:DataAdapter。DataSet是与数据源无关的,而DataAdapter则充当DataSet和实际数据源之间的桥梁,它可

以用来向DataSet对象填充数据,并将对DataSet中的数据的改变反映到实际数据库中进行更新。为了到达这些目的

,DataAdapter对象提供了SelectCommand,InsertCommand,DeleteCommand,UpdateCommand和TableMings属性。
将数据源中的数据填充到DataSet对象中,可以使用dataAdapter的Fill方法。在调用该方法前,必须指定

SelectCommand来向数据源传递要进行的查询。SelectCommand是一个Command对象,其创建方法和普通Command对象

一样。在位SelectCommand属性赋值时,原来的Command对象并没有被复制,SelectCommand属性只是一个指向对象的

引用。当该命令执行结果没有返回行时,DataSet对象中既没有新表被创建,也不会抛出异常。
下面是使用DataSet对象的几个步骤:
1. 创建到数据源的链接:
SQLConnection con=new SQLConnection("Server=localhost;uid=sa;pwd=;database=databasename");
2.创建DataSetCommand对象,指定一个存储过程的名字或者一个SQL语句,指定数据链路:
SQLDataSetCommand cmd= new SQLDataSetCommand("sql语句",con);
3. 创建一个DataSet对象:
DataSet ds=new DataSet();
4. 调用DataSetCommand的FillData方法,为Dataset填充数据。
int iRowCount = cmd.FillDataset(ds,"students");
5. 操作数据。由于Filldata返回了记录的个数,我们可以构造一个循环,来操作dataSet中的数据。
for(int i=0;i<iRowCount;i++)
{
DataRow dr=ds.tables[0].Rows[i];
Console.WriteLine(dr["stu_lname"]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值