您的位置:首页 > 博客中心 > 数据库 >

C#与数据库访问技术总结(十四)之DataAdapter对象

时间:2022-03-14 01:58

//后继代码

同样,可以使用上述方式给其他的InsertCommand、DeleteCommand和UpdateCommand属性赋值。

当在代码里使用DataAdapter对象的SelectCommand属性获得数据表的连接数据时,

如果表中数据有主键,就可以使用CommandBuilder对象来自动为这个DataAdapter对象隐形地生成其他3个InsertCommand、DeleteCommand和UpdateCommand属性。

这样,在修改数据后,就可以直接调用Update方法将修改后的数据更新到数据库中,而不必再使用InsertCommand、DeleteCommand和UpdateCommand这3个属性来执行更新操作。

函数定义 

参数说明 

函数说明 

SqlDataAdapter()

不带参数

创建SqlDataAdapter对象 

SqlDataAdapter(SqlCommand selectCommand

selectCommand:指定新创建对象的SelectCommand属性

创建SqlDataAdapter对象。用参数selectCommand设置其Select Command属性

SqlDataAdapter(string selectCommandText, SqlConnection selectConnection)

selectCommandText:指定新创建对象的SelectCommand属性值

selectConnection:指定连接对象

创建SqlDataAdapter对象。用参数selectCommandText设置其Select Command属性值,并设置其连接对象是selectConnection 

SqlDataAdapter(string   selectCommandText,String selectConnectionString

selectCommandText:指定新创建对象的SelectCommand属性值

selectConnectionString:指定新创建对象的连接字符串

创建SqlDataAdapter对象。将参数selectCommandText设置为Select Command属性值,其连接字符串是selectConnectionString

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O1eDbDataAdapter的构造函数类似SqlDataAdapter的构造函数,如下表2所述。

 

函数定义 

OleDbDataAdapter()

OleDbDataAdapter( OleDbCommand  selectCommand)

OleDbDataAdapter(string selectCommandText,

OleDbConnection  selectConnection)  

 

OleDbDataAdapter(string selectCommandText,Stnng selectConnectionString)

参数说明

  函数说明 

不带参数

创建OleDbDataAdapter对象

selectCommand:指定新创建对象的SelectCommand属性  

创建OleDbDataAdapter对象。用参数selectCommand设置其SelectCommand属性

selectCommandText: 指定新创建对象的SelectCommand属性值

selectConnection:指定连接对象

创建SqlDataAdapter对象。用参数selectCommandText设置其SelectCommand属性值,并设置其连接对象是selectConnection

selectCommandText:指定新创建对象的SelectCommand属性值

selectConnectionString:指定新创建对象的连接字符串

创建OleDbDataAdapter对象。将参数selectCommandText设置为SelectCommand属性值,其连接字符串是selectConnectionString

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

2.Fill类方法.

当调用Fill方法时,它将向数据存储区传输一条SQL SELECT语句。

该方法主要用来填充或刷新DataSet,返回值是影响DataSet的行数。

该方法的常用定义如表所示。 

函数定义

int Fill(DataSet  dataset)

int Fill(DataSet dataset,

string srcTable)

参数说明

函数说明

dataset:需要更新的DataSet

根据匹配的数据源,添加或更新参数所指定的DataSet,返回值是影响的行数

dataset:需要更新的DataSet

srcTable:填充DataSet的dataTable名

根据dataTable名填充DataSet

 

 

 

 

 

 

 

 

3.int  Update(DaraSetdataSet)方法

当程序调用Update方法时,DataAdapter将检查参数DataSet每一行的RowState属性,根据RowState属性来检查DataSet里的每行是否改变和改变的类型,并依次执行所需的INSERT、UPDATE或DELETE语句,将改变提交到数据库中。

这个方法返回影响DataSet的行数。

更准确地说,Update方法会将更改解析回数据源,但自上次填充DataSet以来,其他客户端可能已修改了数据源中的数据。

若要使用当前数据刷新DataSet,应使用DataAdapter和Fill方法。

新行将添加到该表中,更新的信息将并入现有行。

Fill方法通过检查DataSet中行的主键值及SelectCommand返回的行来确定是要添加一个新行还是更新现有行。

如果Fill方法发现DataSet中某行的主键值与SelectCommand返回结果中某行的主键值相匹配,则它将用SelectCommand返回的行中的信息更新现有行,并将现有行的RowState设置为Unchanged。

如果SelectCommand返回的行所具有的主键值与DataSet中行的任何主键值都不匹配,则Fill方法将添加RowState为Unchanged的新行。

热门排行

今日推荐

热门手游