c# 事务编程一些需要注意的地方
2009-10-09 22:34
369 查看
c# 事务编程的具体语法大致如下:
OleDbCommand cmd = new OleDbCommand();
//在此链接上创建并启动事务
OleDbTransaction Trans = conn.BeginTransaction();
// NewUserTrans.Begin();
try
{
cmd.Connection = conn;
cmd.Transaction = Trans;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "这里是你的第一条插入语句或其他语句";
cmd.ExecuteNonQuery();
cmd.CommandText = "这里是你的第二条插入语句或其他语句";
cmd.ExecuteNonQuery();
cmd.CommandText = "这里是你的第三条插入语句或其他语句";
cmd.ExecuteNonQuery();
.........................
//注意如果这其中需要用DataAdapter来填充DataSet或DataTable,也要设置DataAdapter的属性值
dataAdapter.SelectCommand.Transaction = trans;//这一句千万不能少
dataAdapter.Fill(datas);
...............
Trans.commin();
}
Catch(Expection ex)
{
Trans.Rollback();//回滚事务
}
也就是说在Access里面执行事务时,在一个事务开始后到提交或者回滚之间的所有操作不管是查询还是更新,Command命令的Transaction 属性都必须设置,否则会产生异常。
OleDbCommand cmd = new OleDbCommand();
//在此链接上创建并启动事务
OleDbTransaction Trans = conn.BeginTransaction();
// NewUserTrans.Begin();
try
{
cmd.Connection = conn;
cmd.Transaction = Trans;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "这里是你的第一条插入语句或其他语句";
cmd.ExecuteNonQuery();
cmd.CommandText = "这里是你的第二条插入语句或其他语句";
cmd.ExecuteNonQuery();
cmd.CommandText = "这里是你的第三条插入语句或其他语句";
cmd.ExecuteNonQuery();
.........................
//注意如果这其中需要用DataAdapter来填充DataSet或DataTable,也要设置DataAdapter的属性值
dataAdapter.SelectCommand.Transaction = trans;//这一句千万不能少
dataAdapter.Fill(datas);
...............
Trans.commin();
}
Catch(Expection ex)
{
Trans.Rollback();//回滚事务
}
也就是说在Access里面执行事务时,在一个事务开始后到提交或者回滚之间的所有操作不管是查询还是更新,Command命令的Transaction 属性都必须设置,否则会产生异常。
相关文章推荐
- C# 引用类型作为函数参数时一些需要注意的地方
- 串口编程需要注意的地方
- 关于u3d中需要注意一些地方
- 归并排序+一个编程需要注意的地方
- iOS中使用iCloud一些需要注意的地方(Xcode7.2)
- C# 使用SuperMap控件需要千万注意的地方(转载)
- spring3和spring4的一些需要注意的地方
- C#学习,整理一些API类,外挂编程需要用到
- spring3和spring4的一些需要注意的地方
- unity 中将c#打包成dll中,需要注意的地方
- 配库时需要注意的一些地方
- $.ajax需要注意的一些地方
- python中需要注意的一些地方
- C#中使用事物需要注意的地方
- Rose框架一些需要注意的地方
- Sencha Touch开发一些需要注意的地方
- Linux Bash编程需要注意的几个地方
- 在java中使用常量变量的一些需要注意的地方
- 一些java编程时需要注意的细节
- 编程一些要注意的地方:c/c++