科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道DataAdapter对象

DataAdapter对象

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在ASP.NET的架构中使用DataAdapter对象来连接 Connection和DataSet对象。另外,DataAdapter对象能根据数据库里的表的字段结构,动态地塑造DataSet对象的数据结构。

作者:ghost 来源:CSDN 2007年9月24日

关键字: ghost DataAdapter 对象

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

1  DataAdapter对象的常用属性
DataAdapter对象的工作步骤一般有两种,一种是通过Command对象执行SQL语句,将获得的结果集填充到DataSet对象中;另一种是将DataSet里更新数据的结果返回到数据库中。
DataAdapter对象的常用属性形式为 XXXCommand,用于描述和设置操作数据库。使用DataAdapter对象,可以读取、添加、更新和删除数据源中的记录。对于每种操作的执行方式,适配器支持以下4个属性,类型都是Command,分别用来管理数据操作的“增”、“删”、“改”、“查”动作。
Ü  SelectCommand属性:该属性用来从数据库中检索数据。
Ü  InsertCommand属性:该属性用来向数据库中插入数据。
Ü  DeleteCommand属性:该属性用来删除数据库里的数据。
Ü  UpdateCommand属性:该属性用来更新数据库里的数据。
例如,以下代码能给DataAdapter对象的selectCommand属性赋值。
//连接字符串
SqlConnection conn;
//创建连接对象conn的语句
// 创建DataAdapter对象
SqlDataAdapter da = new SqlDataAdapter;
//给DataAdapter对象的SelectCommand属性赋值
Da.SelectCommand = new SqlCommand("select * from user", conn);
//后继代码
同样,可以使用上述方式给其他的InsertCommand、DeleteCommand和UpdateCommand 属性赋值。
当在代码里使用DataAdapter对象的 SelectCommand属性获得数据表的连接数据时,如果表中数据有主键,就可以使用CommandBuilder对象来自动为这个 DataAdapter对象隐形地生成其他3个InsertCommand、DeleteCommand和UpdateCommand 属性。这样,在修改数据后,就可以直接调用Update方法将修改后的数据更新到数据库中,而不必再使用InsertCommand、 DeleteCommand和UpdateCommand这3个属性来执行更新操作。
2  DataAdapter对象的常用方法
DataAdapter 对象主要用来把数据源的数据填充到DataSet中,以及把DataSet里的数据更新到数据库,同样有SqlDataAdapter和 OleDbAdapter两种对象。它的常用方法有构造函数、填充或刷新DataSet的方法、将DataSet中的数据更新到数据库里的方法和释放资源的方法。
1. 构造函数
不同类型的Provider使用不同的构造函数来完成DataAdapter对象的构造。对于SqlDataAdapter类,其构造函数说明如表所示。
表 SqlDataAdapter类构造函数说明
函 数 定 义
参 数 说 明
函 数 说 明
SqlDataAdapter()
不带参数
创建SqlDataAdapter对象
SqlDataAdapter(
SqlCommand selectCommand)
selectCommand:指定新创建对象的SelectCommand属性
创建SqlDataAdapter对象。用参数selectCommand设置其Select Com- mand属性
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
OleDbDataAdapter的构造函数类似SqlDataAdapter的构造函数,如下表所述。
表 OleDbDataAdapter类构造函数说明
函 数 定 义
参 数 说 明
函 数 说 明
OleDbDataAdapter()
不带参数
创建OleDbDataAdapter对象
OleDbDataAdapter(
OleDbCommand selectCommand)
selectCommand:指定新创建对象的SelectCommand属性
创建OleDbDataAdapter对象。用参数selectCommand设置其SelectCommand属性
OleDbDataAdapter(string
selectCommandText, OleDbConnection selectConnection)
selectCommandText:指定新创建对象的SelectCommand属性值
selectConnection:指定连接对象
创建SqlDataAdapter对象。用参数selectCommandText设置其SelectCommand属性值,并设置其连接对象是selectConnection
OleDbDataAdapter(string
selectCommandText,String selectConnectionString)
selectCommandText:指定新创建对象的SelectCommand属性值
selectConnectionString:指定新创建对象的连接字符串
创建OleDbDataAdapter对象。将参数selectCommandText设置为SelectCommand 属性值,其连接字符串是selectConnectionString
2. Fill类方法
当调用 Fill 方法时,它将向数据存储区传输一条 SQL SELECT 语句。该方法主要用来填充或刷新DataSet,返回值是影响DataSet的行数。该方法的常用定义如表所示。
表  DataAdapter类的Fill方法说明
函 数 定 义
参 数 说 明
函 数 说 明
int Fill (DataSet dataset)
dataset:需要更新的DataSet
根据匹配的数据源,添加或更新参数所指定的DataSet,返回值是影响的行数
int Fill (DataSet
dataset,string srcTable)
dataset:需要更新的DataSet
srcTable:填充DataSet的dataTable名
根据dataTable名填充DataSet
3. int Update(DataSet dataSet)方法
当程序调用 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 的新行。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章