c#向数据表中插入多条记录.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在用c#进行数据库编程时,经常遇到主从表的处理,需要同时更新多个表多条记录, ? ? 用Update,它是遍历了整个数据集进行修改,但是好像并没有进行事务处理. ? ? 请问,如何一次更新多个表多条记录进行事务处理. ? ? 另外,如何联合用存储过程来处理又该怎样. 问题点数:50、回复次数:6Top 1 楼henryfan1()回复于 2003-02-27 11:06:17 得分 0 在SqlDataAdapter在构造设置SelectCommand的事务,对应更新就会产生事务。 ? ? 关于ADO.NET事务处理不多说,查看MSDN.Top 2 楼yhcnux()回复于 2003-02-27 11:06:34 得分 10 一种方法,在数据库中建存储过程,而这个存储过程中用到事务,另一种方法,用自带的手动事务处理,我给你一段我的源码: ? ? public ? void ? AddBargain(ArrayList ? arr) ? ? { ? ? ? ? //执行事务 ? ? using ? (SqlConnection ? con ? = ? new ? SqlConnection(conStr) ? ) ? ? { ? ? con.Open(); ? ? using ? (SqlTransaction ? trans ? = ? con.BeginTransaction()) ? ? { ? ? //传参 ? ? SqlParameter[] ? myParms1 ? = ? { ? ? ? ? SqlHelper.MakeInParam(@bargaindate,SqlDbType.VarChar,50,arr[0]), ? ? ? ? SqlHelper.MakeInParam(@salesman,SqlDbType.VarChar,80,arr[1]), ? ? ? ? SqlHelper.MakeInParam(@principal,SqlDbType.VarChar,80,arr[2]), ? ? ? ? SqlHelper.MakeInParam(@customerid,SqlDbType.Int,4,arr[3]) ? ? ? ? }; ? ? SqlParameter[] ? myParms2 ? = ? { ? ? ? ? SqlHelper.MakeInParam(@bargainfilename,SqlDbType.VarChar,50,arr[4]), ? ? ? ? SqlHelper.MakeInParam(@bargainfile,SqlDbType.Image,16,arr[5]) ? ? ? ? }; ? ? try ? ? { ? ? //执行存储过程,把信息插入Bargain表中 ? ? SqlHelper.ExecuteNonQuery(trans, ? CommandType.StoredProcedure, ? AddBargain1, ? myParms1 ? ); ? ? ? ? //执行存储过程,把信息插入BargainFile ? ? SqlHelper.ExecuteNonQuery(trans, ? CommandType.StoredProcedure, ? AddBargain2, ? myParms2 ? ); ? ? ? ? trans.Commit(); ? ? } ? ? ? ? catch ? (Exception ? ex) ? ? { ? ? // ? throw ? exception ? ? trans.Rollback(); ? ? throw ? ex; ? ? } ? ? finally ? ? { ? ? con.Close(); ? ? } ? ? } ? ? } ? ? } ? ? 格式比较乱,你凑合着看吧。SqlHelper类是我用来访问数据库的包含静态方法的类。AddBargain1和AddBragain2分别是添加合同的信息到两个不现的表的存储过程,要保持同步,一个表添加失败,另一个表也不应该添加。Top 3 楼visualpony(pony)回复于 2003-02-27 11:12:28 得分 20 只要准备了 ? .NET ? 框架类参与自动事务,此类的实例就可以参与自动事务。类实例或对象访问的每个资源都在事务中登记。例如,如果一个对象使用 ? ADO.NET ? 发送数据库中某帐户上的钱,此数据库的资源管理器将确定该对象是否在事务中执行。如果对象是在事务中执行,则资源管理器自动在事务中登记此数据库。 ? ? ? ?

文档评论(0)

yuguanyin2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档