首页 > 开发 > 综合 > 正文

使用 DataAdapter 和 DataSet 更新数据库

2024-07-21 02:23:04
字体:
来源:转载
供稿:网友
dbdataadapter调用 update 方法时,dataadapter 将分析已作出的更改并执行相应的命令(insert

、update 或 delete)。当 dataadapter 遇到对 datarow 的更改时,它将使用 insertcommand、

updatecommand 或 deletecommand 来处理该更改。这样,您就可以通过在设计时指定命令语法并在可能

时通过使用存储过程来尽量提高 ado.net 应用程序的性能。在调用 update 之前,必须显式设置这些命

令。如果调用了 update 但不存在用于特定更新的相应命令(例如,不存在用于已删除行的

deletecommand),则将引发异常。
但是如果 datatable 映射到单个数据库表或从单个数据库表生成,则可以利用 commandbuilder 对象

自动生成 dataadapter 的 deletecommand、insertcommand 和 updatecommand。为了自动生成命令,必

须设置 selectcommand 属性,这是最低的要求。selectcommand 所检索的表架构确定自动生成的 insert

、update 和 delete 语句的语法。如果在自动生成插入、更新或删除命令后修改 selectcommand 的

commandtext,则可能会发生异常。如果已修改的 selectcommand.commandtext 所包含的架构信息与自动

生成插入、更新或删除命令时所使用的 selectcommand.commandtext 不一致,则以后对

dataadapter.update 方法的调用可能会试图访问 selectcommand 引用的当前表中已不存在的列,并且会

引发异常。可以通过调用 commandbuilder 的 refreshschema 方法来刷新 commandbuilder 用来自动生

成命令的架构信息。




发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表