不同数据库间事务操作(服务器也可不同)--事务回滚
2011-11-14 15:48
267 查看
/// <summary>
/// 不同服务器上数据库的事务操作
/// </summary>
/// <param name="alCon">数据库连接字符串集</param>
/// <param name="alSql">sql语句集,同一服务器的数据库sql语句合并为一条处理</param>
/// <returns>返回是否执行成功1表示成功,-1表示失败</returns>
public override int ExcuteTransactions(ArrayList alCon, ArrayList alSql)
{
int iFlag = 1; //用于返回是否执行成功
ArrayList alTran = new ArrayList();
ArrayList alCons = new ArrayList();
try
{
for (int i = 0; i < alCon.Count; i++)
{
SqlConnection sqlCon = new SqlConnection(alCon[i].ToString());
SqlCommand sqlCom = new SqlCommand();
sqlCom.Connection = sqlCon;
//打开数据库
sqlCon.Open();
//创建事务
SqlTransaction tranNew = sqlCon.BeginTransaction();
//临时保存数据,以便事务回滚
alCons.Add(sqlCon);
alTran.Add(tranNew);
sqlCom.Transaction = tranNew;
sqlCom.CommandText = alSql[i].ToString();
int j = sqlCom.ExecuteNonQuery();
}
foreach (SqlTransaction tran in alTran)
{
tran.Commit();
}
}
catch (Exception ex)
{
iFlag = -1;
//事务回滚
foreach (SqlTransaction tran in alTran)
{
tran.Rollback();
}
}
finally
{
foreach (SqlConnection con in alCons)
{
con.Close();
}
}
return iFlag;
}
相关文章推荐
- 不同服务器数据库之间的数据操作
- 不同服务器数据库之间的数据操作
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作
- 不同服务器数据库之间的数据操作
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作(1)
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 不同服务器数据库之间的数据操作
- 不同服务器数据库之间的数据操作
- 不同服务器数据库之间的数据操作
- 不同服务器数据库之间的数据操作
- [转载]不同服务器数据库之间的数据操作--复制同步(整理版)
- 不同服务器数据库之间的数据操作(转载)