如何执行事务

wangbei 2003-07-17 03:42:43
我想将两个更新数据的方法一起执行,该如何填写事务?

我的数据库连接和更新方法封装在一个单独的"数据库连接类"中,与一起执行的两个方法的类是分开的,当执行数据库超作时就执行"数据库连接类"中的方法.
...全文
43 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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();
}

}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧