——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
RegionID // Defines the SOURCE column
DataRowVersionDefault
null));
aCommandUpdatedRowSource = UpdateRowSourceOutputParameters;
无论何时DataAdapter执行这个命令输出参数都应映射回数据行的源在本例中是DataTable中的一行该标志说明了应更新什么数据—— 存储过程有一个输出参数映射回DataRow它应用的列是RegionID这是在命令定义中定义的
UpdateRowSource的值如表所示
UpdateRowSource值说 明Both
存储过程可以返回输出参数和一个完整的数据库记录这些数据源都用于更新源数据行FirstReturnedRecord
该命令返回一个记录该记录的内容应合并到最初的源DataRow中当给定的表有许多默认(或计算)列时使用这个值很有用因为在执行插入语句之后这些行需要与客户机上的DataRow同步例如INSERT (列) INTO (表) WITH (主键码)SELECT (列) FROM (表) WHERE (主键码)返回的记录应合并到源数据行上None删除从该命令返回的所有数据OutputParameters命令的任何输出参数都映射到DataRow的对应列上
表
更新现有的行
更新DataTable中一个已经存在的行只需使用带有一个列名或列号的DataRow索引器即可如下面的代码所示
r[RegionDescription]=North West England;
r[] = North East England;
这两个语句是等价的(在本例中)
Changed RegionID description
Eastern Unchanged
WesternUnchanged
NorthernUnchanged
SouthernUnchanged
North West EnglandModified
在更新数据库前被更新的行应把其状态设置为Modified其值如上所示
删除一行
删除一行需要调用Delete()方法rDelete();
被删除的行把其行状态设置为Deleted但不能从被删除的DataRow中读取列因为它们已经不再有效当调用适配器的Update()方法时所有被删除的行都会使用DeleteCommand在本例中是执行RegionDelete存储过程
[] []