程序一般在特殊数据的时候,会有数据上的同步,这个时候就用到了事物。闲话不多说,直接上代码。

 public void UpdateContactTableByDataSet(DataSet ds, string strTblName)
{
try
{
SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlConnection conn = new SqlConnection("connection string");
SqlCommand myCommand = new SqlCommand("select * from strTblName", conn);
myAdapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); conn.Open();
SqlTransaction myTrans = conn.BeginTransaction();
myCommand.Transaction = myTrans; try
{
myAdapter.Update(ds, strTblName);
myTrans.Commit();
}
catch (Exception e)
{
try
{
myTrans.Rollback();//回滚并取消数据库的更新
}
catch (SqlException ex)
{
if (myTrans.Connection != null)
{
Console.WriteLine("回滚失败! 异常类型: " + ex.GetType());
}
}
}
finally
{
conn.Close();
} }
catch (Exception ex)
{
throw ex;
}
}

事务回滚主要用于提交失败。(lock)用于处理并发事件。

最新文章

  1. C语言 右左法则
  2. laravel框架总结(八) -- ORM模型
  3. 2014 ICPC---Relief grain(树链剖分)
  4. 安装 Ubuntu 后的个人常用配置
  5. Ubuntu+Apache+PHP+Mysql环境搭建
  6. 用c语言写一个函数把十进制转换成十六进制(转)
  7. 第十六课:一些奇葩的元素节点object,video
  8. poj1573 模拟
  9. GHOST系统锁定主页常用软件及解决方案
  10. php的redis 操作类,适用于单台或多台、多组redis服务器操作
  11. jQuery包裹节点用法完整示例
  12. 命令查询分离原则Command-query separation principle
  13. ubuntu配置jdk脚本以及导致开不了机的解决方案
  14. hdu1205(类似 分布垃圾数列)
  15. ORA-20011 ORA-29913 KUP-11024 GATHER_TABLE_STATS
  16. learning gcc args
  17. vue中axios的封装
  18. ML(附录3)——过拟合与欠拟合
  19. Solr[Q] -No live SolrServers available to handle this request, no servers hosting shard
  20. ASP.NET MVC 与NLog的使用

热门文章

  1. 2017 Multi-University Training Contest - Team 4 hdu6070 Dirt Ratio
  2. rdesktop install notes
  3. android 如何获取当前的Activity类名
  4. Java线程常用方法汇总
  5. NodeJS中间层搭建
  6. springcloud---2
  7. Hive查询Join
  8. ArchLinux基本系统到XFCE4桌面搭建
  9. 对linux内核创建flash上的各分区源码进行分析
  10. 爬虫框架Scrapy之案例二