批量加载SQL Server 表和SqlDataAdapter.Update数据源(1)

本文介绍了如何使用SqlDataAdapter的Update方法结合SqlCommandBuilder自动生成SQL语句,实现对DataTable的修改同步到数据库。同时,详细阐述了SqlBulkCopy类的使用,用于高效地批量加载数据到SQL Server表中。通过设置BatchSize、ColumnMappings等属性,可以灵活控制批量操作的性能和数据映射。
摘要由CSDN通过智能技术生成

  SqlDataAdapter.Update数据源

SqlCommand 类
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。无法继承此类
方法:
1、BeginExecuteNonQuery
 启动此 SqlCommand 描述的 Transact-SQL 语句或存储过程的异步执行,一般情况下执行 INSERT、

DELETE、UPDATE 和 SET 语句等命令。每调用一次 BeginExecuteNonQuery,都必须调用一次通常在单独

的线程上完成操作的 EndExecuteNonQuery。
2、ExecuteNonQuery
 执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令。
3、ExecuteReader
 执行返回行的命令。为了提高性能,ExecuteReader 使用 Transact-SQL sp_executesql 系统存储过程

调用命令。因此,如果 ExecuteReader 用于执行命令(例如 Transact-SQL SET 语句),则它可能不会

产生预期的效果。
 
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand(VS.80).aspx

SqlDataAdapter 类
表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。无法继承此类。

SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。SqlDataAdapter 通

过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数

据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。更新是逐行进行

的。对于每个已插入、修改和删除的行,Update 方法会确定已对其执行的更改的类型(Insert、Update

或 Delete)。根据更改类型,执行 Insert、Update 或 Delete 命令模板将已修改的行传播给数据源。

注意:当 SqlDataAdapter 填充 DataSet 时,它为返回的数据创建必需的表和列(如果这些表和列尚不

存在)。但是,除非 MissingSchemaAction 属性设置为 AddWithKey,否则这个隐式创建的架构中不包括

主键信息。也可以使用 FillSchema,让 SqlDataAdapter 创建 DataSet 的架构,并在用数据填充它之前

就将主键信息包括进去

SqlDataAdapter 包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和

TableMappings 属性,以便于数据的加载和更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值