c#中事务及回滚
2024-09-21 20:09:45
程序一般在特殊数据的时候,会有数据上的同步,这个时候就用到了事物。闲话不多说,直接上代码。
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)用于处理并发事件。
最新文章
- C语言 右左法则
- laravel框架总结(八) -- ORM模型
- 2014 ICPC---Relief grain(树链剖分)
- 安装 Ubuntu 后的个人常用配置
- Ubuntu+Apache+PHP+Mysql环境搭建
- 用c语言写一个函数把十进制转换成十六进制(转)
- 第十六课:一些奇葩的元素节点object,video
- poj1573 模拟
- GHOST系统锁定主页常用软件及解决方案
- php的redis 操作类,适用于单台或多台、多组redis服务器操作
- jQuery包裹节点用法完整示例
- 命令查询分离原则Command-query separation principle
- ubuntu配置jdk脚本以及导致开不了机的解决方案
- hdu1205(类似 分布垃圾数列)
- ORA-20011 ORA-29913 KUP-11024 GATHER_TABLE_STATS
- learning gcc args
- vue中axios的封装
- ML(附录3)——过拟合与欠拟合
- Solr[Q] -No live SolrServers available to handle this request, no servers hosting shard
- ASP.NET MVC 与NLog的使用