数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
ADO.NET读书笔记系列之------SqlDataAdapter对象

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

一、特点介绍

1表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。

2、在SqlDataAdapterDataSet之间没有直接连接。当完成SqlDataAdpater.Fill(DataSet)调用后,两个对象之间就没有连接了。

二、使用介绍

1、创建SqlDataAdapter

    ...

    string strSQL=Select * from Customers;

    SqlCommand cmd=new SqlCommand(strSQL,cn);

    SqlDataAdapter da=new SqlDataAdapter();

    da.SelectCommand=cmd;

2、SqlDataAdapter构造函数

string strConn=Provider=.....”;

  string strSQL=select * from Customers”;

  SqlDataAdapter da=new SqlDataAdapter(strSQL,strConn);

string strConn=Provider=.....”;

  SqlConnection cn=new SqlConnection(strConn);

  SqlDataAdapter da=new SqlDataAdapter(select * from Customers,cn);

string strConn=Provider=.....”;

  string strSQL=select * from Customers”;

  SqlConnection cn=new SqlConnection(strConn);

  SqlCommand cmd=new SqlCommand(strSQL,cn);

  SqlDataAdapter da=new SqlDataAdapter(cmd);

3、从查询中获取结果

使用Fill方法

    ...

    SqlDataAdapter da=new SqlDataAdapter(strSQL,strConn);

    DataSet ds=new DataSet();

    da.Fill(ds);   //这里ds中的表名为Table

②使用Fill方法创建DataTable对象和DataColumn对象

    ...   

    SqlDataAdapter da=new SqlDataAdapter(strSQL,strConn);

    da.TableMapping.Add(Table”,“Customers);   

    DataSet ds=new DataSet();

    da.Fill(ds);

③使用重载Fill方法

    SqlDataAdapter.Fill(DataSet,Customers);

    SqlDataAdapter.Fill(DataTable);

    SqlDataAdapter.Fill(DataSet,intStartRecord,intNumRecords,TableName);

④开放和关闭连接

    如果调用了一个SqlDataAdapter对象的Fill方法,而SelectCommand属性的Connection关闭了,那么SqlDataAdapter就会开放一个连接,然后提交查询、获取结果、最后关闭连接。如果在调用前开放了Connection,那么操作之后仍然保持开放。

    ...

    SqlDataAdapter daCustomers,daOrders;

    daCustomers=new SqlDataAdapter(Select * from Customers,cn);

    daOrders=new SqlDataAdapter(Select * from Orders,cn);

    DataSet ds=new DataSet();

    cn.Open();

    daCustomers.Fill(ds);

    daOrders.Fill(ds);

    cn.Close();

多次调用Fill方法

    刷新DataSet中的数据,最简单的解决方法就是清空DataSet(DataTable),然后再次调用DataAdapter对象的Fill方法。   

三、属性方法事件介绍

1、属性

AcceptChangeDuringFill确定由DataAdapter所获取的行的RowState(默认为True)。

DeleteCommand获取或设置一个 Transact-SQL 语句或存储过程,以从数据集删除记录。

InsertCommand获取或设置一个 Transact-SQL 语句或存储过程,以在数据源中插入新记录。

SelectCommand获取或设置一个 Transact-SQL 语句或存储过程,用于在数据源中选择记录。

UpdateCommand获取或设置一个 Transact-SQL 语句或存储过程,用于更新数据源中的记录。

TableMappingsSqlDataAdapter用来将查询的结果映射到DataSet的信息集合。

ContinueUpdate:控制SqlDataAdapter在遇到一个错误之后是否继续提交更改(默认为false)。

2、方法

Fill:执行存储于SelectCommand中的查询,并将结果存储在DataTable中。

FillSchema:为存储在SelectCommand中存储的查询获取架构信息。获取查询中的各列名称和数据类型。

GetFillParameters:为SelectCommand获取一个包含着参数的数组。

Update:向数据库提交存储在DataSet(DataTableDataRows)中的更改。该方法会返回一个整数值,其中包含着在数据存储中成功更新的行数。

3、事件

FillError:当DataAdapter遇到填充DataSetDataTable的一个错误时,该事件被触发。

RowUpdated:向数据库提交一个修改的行之后被触发。

RowUpdating:向数据库提交一个修改的行之前被触发。




相关文章

相关软件