大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 简述DbDataAdapter.Update 方法

简述DbDataAdapter.Update 方法

时间: 2021-07-31 作者:daque

简述DbDataAdapter.Update 方法当运用步调挪用 update 本领时,dbdataadapter 按照 dataset 中摆设的索引程序为每一条龙查看 rowstate 属性,并迭代实行所需的 insert、update 或 delete 语句。比方,因为 datatable 中国银行的排序,update 大概先实行一个 delete 语句,接着实行一个 insert 语句,而后再实行另一个 delete 语句。应提防,那些语句不是动作批处置过程实行的;每一条龙都是独立革新的。在必需遏制语句典型程序的情景下(比方,insert 在 update 之前),运用步调不妨挪用 getchanges 本领。即使未指定 insert、update 或 delete 语句,update 本领会天生特殊。然而,即使树立 .net framework 数据供给步调的 selectcommand 属性,则不妨创造 sqlcommandbuilder 或 oledbcommandbuilder 东西来为单个表革新机动天生 sql 语句。而后,commandbuilder 将天生其余任何未树立的 sql 语句。此天生论理诉求 dataset 中生存键列消息。update 本领扶助以次情景:dataset 包括多个 datatable 东西,而那些东西的称呼惟有巨细写各别。当 dataset 中有多个表具备沟通的称呼但巨细写不同声,update 实行辨别巨细写的比拟以搜索相映的表,即使不生存实足配合的表,就会天生一个特殊。底下的代码阐释该动作。dataset ds = new dataset();ds.tables.add("aaa");ds.tables.add("aaa");adapter.update(ds, "aaa"); // updates "aaa", which already exists in the dataset.adapter.update(ds, "aaa"); // updates "aaa", which already exists in the dataset.adapter.update(ds, "aaa"); // results in an exception.即使挪用 update 而且 dataset 只包括一个其称呼惟有巨细写各别的 datatable,则革新该 datatable。在这种情景下,比拟不辨别巨细写。底下的 c# 代码阐释该动作。dataset dataset = new dataset();dataset.tables.add("aaa");adapter.update(dataset, "aaa"); // updates table "aaa" because only one similarly named table is in the dataset.update 本领在实行革新之前从第一个映照列出的表中检索行。而后,update 运用 updatedrowsource 属性的值革新该行。忽视归来的任何其余行。updatedrowsource属性 获得或树立吩咐截止在由 dbdataadapter 的 update 本领运用时怎样运用于 datarow。默许的 updaterowsource 值为 both,只有机动天生该吩咐(如 oledbcommandbuilder 如许的情景),这时候默许值为 none。在其余非机动天生吩咐情景下,尽管运用代码仍旧经过查问安排器,经过树立吩咐的commandtext属性创造的吩咐东西都是默许值为both。分子称呼 证明both 将输入参数和第一个归来行都映照到 dataset 中的已变动的行。firstreturnedrecord 将第一个归来行中的数据映照到 dataset 中的已变动的行。none 忽视任何归来的参数或行。outputparameters 将输入参数映照到 dataset 中的已变动的行。在将任何数据加载回 dataset 之后,将激励 onrowupdated 事变,进而承诺用户查看经融合的 dataset 行以及该吩咐归来的任何输入参数。在对一条龙胜利举行革新之后,将接收对该行的变动。当运用 update 时,实行的程序如次: 1. 将 datarow 中的值移至参数值。 2. 激励 onrowupdating 事变。 3. 实行吩咐。 4. 即使该吩咐树立为 firstreturnedrecord,归来的第一项截止将安置在 datarow 中。 5. 即使生存输入参数,它们将被放在 datarow 中。 6. 激励 onrowupdated 事变。 7. 挪用 acceptchanges。与 dbdataadapter 关系的每个吩咐常常都有一个与其关系的参数汇合。参数经过 .net framework 数据供给步调的 parameter 类的 sourcecolumn 和 sourceversion 属性映照到暂时行。sourcecolumn 援用 datatable 列,而 dbdataadapter 援用该列来获得暂时行的参数值。sourcecolumn 在运用任何表映照之前将援用未映照的列名。即使 sourcecolumn 援用一个不生存的列,则采用的操纵在于于以次 missingmappingaction 值之一。n missingmappingaction.passthrough 即使不生存任何映照,则运用 dataset 中的源列名和表名。n missingmappingaction.ignore 天生 systemexception。当显式树立映照时,缺乏输出参数的映照常常是因为堕落所致。n missingmappingaction.error 天生 systemexception。sourcecolumn 属性还用来将输入或输出/输入参数的值映照回 dataset。即使它援用一个不生存的列,则会天生特殊。.net framework 数据供给步调的 parameter 类的 sourceversion 属性决定运用列值的哪个本子:original、current 仍旧 proposed。该功效常常用来在 update 语句的 where 子句中包括初始值,以查看盛开式并发辩论。提防 即使在革新行时堕落,则会激励特殊并遏止实行革新。若要在遇到缺点时连接革新操纵而不天生特殊,请在挪用 update 之前将 continueupdateonerror 属性树立为 true。您还不妨在 sqldataadapter 或 oledbdataadapter 的 rowupdated 事变中逐行对缺点作出相应。若要在 rowupdated 事变中连接革新操纵而不天生特殊,请将 rowupdatedeventargs 的 status 属性树立为 continue。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.