社区
C#
帖子详情
如何执行事务
wangbei
2003-07-17 03:42:43
我想将两个更新数据的方法一起执行,该如何填写事务?
我的数据库连接和更新方法封装在一个单独的"数据库连接类"中,与一起执行的两个方法的类是分开的,当执行数据库超作时就执行"数据库连接类"中的方法.
...全文
42
8
打赏
收藏
如何执行事务
我想将两个更新数据的方法一起执行,该如何填写事务? 我的数据库连接和更新方法封装在一个单独的"数据库连接类"中,与一起执行的两个方法的类是分开的,当执行数据库超作时就执行"数据库连接类"中的方法.
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
8 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
leojun
2003-07-23
打赏
举报
回复
try
{
//执行语句组
myTran.Commit();
}
catch
{
trans.Rollback();
}
cl_03
2003-07-17
打赏
举报
回复
写个存储过程啦
redant0
2003-07-17
打赏
举报
回复
up
wangbei
2003-07-17
打赏
举报
回复
使用自动事务,能说的再相信些吗?
我的代码如下
private void 添加入库记录(参数)
{
string cmstr="insert into 入库记录 (数据库字段) values (参数)";
int ii=sqlData.OtherCommand(cmstr)>0;
}
public bool 产品入库(参数)
{
string cmstr="update 库存 set 数量=参数";
return sqlData.OtherCommand(cmstr)>0;
添加入库记录(参数);
}
我想在更新库存的同时建立入库记录
其中:"sqlData.OtherCommand(cmstr)>0"是"数据库连接类"中的方法通过返回值来判断是否执行.
xhan2000
2003-07-17
打赏
举报
回复
[Transaction(TransactionOption.Required)]
雪狼1234567
2003-07-17
打赏
举报
回复
参看如下代码:
System.Data.SqlClient.SqlTransaction myTran = conn.BeginTransaction();
sqlUpdateCommand1.Transaction = myTran;
sqlInsertCommand1.Transaction = myTran;
sqlDeleteCommand1.Transaction = myTran;
try
{
sqlDa.Update(dt,"customer");
myTran.Commit();
return true;
}
catch(System.Data.SqlClient.SqlException ex)
{
myTran.Rollback();
return false;
}
finally
{
conn.Close();
}
xhan2000
2003-07-17
打赏
举报
回复
使用自动事务
[Transaction(TransactionOption.Requies)]
public class xxx
{
}
river168
2003-07-17
打赏
举报
回复
public int ExecuteTrans(string[] sqlstrs)
{
SqlConnection conn=new SqlConnection(connstr);
SqlCommand cmd=new SqlCommand();
try
{
conn.Open();
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message+"\r\n connstr=\""+connstr+"\"");
}
System.Data.SqlClient.SqlTransaction trans=conn.BeginTransaction();
try
{
cmd.Connection=conn;
cmd.Transaction=trans;
foreach(string str in sqlstrs)
{
cmd.CommandText=str;
cmd.ExecuteNonQuery();
}
trans.Commit();
return 0;
}
catch(System.Data.SqlClient.SqlException e)
{
trans.Rollback();
throw new Exception(e.Message+"\r\n sqlstr=\""+sqlstrs.ToString()+"\"");
}
finally
{
cmd.Dispose();
conn.Close();
}
}
相关推荐
Spring
事务
传播行为
REQUIRED (默认值): 如果当前有
事务
,就在
事务
中
执行
,如果当前没有
事务
,新建一个
事务
. 白:当有
事务
二
事务
三时,依旧
执行
事务
一。 **REQUIRES_NEW:**必须在
事务
中
执行
,如果当前没有
事务
,新建
事务
,如果当前有
事务
,把当前
事务
挂起. **白:**当有
事务
二时,
事务
一挂起
执行
事务
二,
事务
二
执行
完毕,释放
事务
一。 当有
事务
三时,
事务
一挂起,
执行
事务
三。完毕后再
执行
事务
一。 常用就上面两个。 NOT_SUPPORTED:必须在非
事务
下
执行
,如果当前没有
事务
,正常
执行
,如果当前有
事务
,把当前
事务
spring 七种
事务
传播行为和五种
事务
隔离级别
事务
传播行为:propagation_控制
事务
传播行为 1.REQUIRED(默认值):如果当前有
事务
,就在
事务
中
执行
;如果没有
事务
,就新建一个
事务
2.SUPPORTS:如果当前有
事务
,就在
事务
中
执行
;如果没有
事务
,就在非
事务
状态下
执行
3.MANDATORY:必须在
事务
内部
执行
,如果当前有
事务
,就在
事务
中
执行
;如果没有
事务
,就报错 4.REQUIRES_NEW:必须在
事务
内部
执行
,如果...
事务
的调度和隔离性级别
事务
的调度 一个
事务
的
执行
就是一组指令的序列 一组
事务
的
执行
的顺序我们可以成为调度 比如限制性
事务
1,再
执行
事务
2,这种
执行
顺序就是一种调度 放过来先
执行
事务
2,再
执行
事务
1,这又是一种调度 但是为了更好的
事务
并发,调度可以渗透到让单个
事务
中个部分配合
执行
比如先
执行
事务
1中的A部分,再
执行
事务
2中的C部分,然后再
执行
事务
1中的B,
事务
2中的D 这也是调度,数据库合理安排调度,保证并...
数据库——数据
事务
语言(TCL)
数据库——数据
事务
语言(TCL) 文章目录数据库——数据
事务
语言(TCL)
事务
事务
的特性(ACID)
事务
的创建
事务
的并发
事务
的隔离级别
事务
事务
:一个或一组sql语句组成一个
执行
单元,这个
执行
单元要么全部
执行
,要么全部不
执行
。
事务
的特性(ACID) 原子性:一个
事务
不可再分割,要么都
执行
要么都不
执行
。 一致性:一个
事务
执行
会使数据从一个一致状态切换到另一个一致的状态。 隔离性:一个
事务
的
执行
不受其他
事务
的干扰。 持久性:
事务
一旦提交,就会永久的改变数据库的数据。
事务
的创建 隐式的
事务
:
事务
没有明显
MySql---
事务
事务
: 一个或一组sql语句组成一个
执行
单元,这个
执行
单元要么全部
执行
,要么全部不
执行
。
事务
的特性: ACID 原子性:一个
事务
不可再分割,要么都
执行
要么都不
执行
一致性:一个
事务
执行
会使数据从一个一致状态切换到另外一个一致状态 隔离性:一个
事务
的
执行
不受其他
事务
的干扰 持久性:一个
事务
一旦提交,则会永久的改变数据库的数据.
事务
的创建 隐式
事务
:
事务
没有明显的开启和结束的标记 比如inse...
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2003-07-17 03:42
社区公告
让您成为最强悍的C#开发者