现在我要同时录入两个表,一个操作不成功,就停止录入。录入sql 用的存储过程,不能用事务回滚?
请大家指教!
谢谢
public static bool DBSqlTransactionProcedure(SqlConnection conn,string[] strStoreProcedure)
{
SqlTransaction sql_transaction = conn.BeginTransaction();
SqlCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = sql_transaction;
try
{
for (int i = 0; i < strStoreProcedure.Length; i++)
{
cmd.CommandText = strStoreProcedure[i];
cmd.ExecuteNonQuery();
}
}
catch
{
sql_transaction.Rollback();
}
}
请大家指教!
谢谢
public static bool DBSqlTransactionProcedure(SqlConnection conn,string[] strStoreProcedure)
{
SqlTransaction sql_transaction = conn.BeginTransaction();
SqlCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = sql_transaction;
try
{
for (int i = 0; i < strStoreProcedure.Length; i++)
{
cmd.CommandText = strStoreProcedure[i];
cmd.ExecuteNonQuery();
}
}
catch
{
sql_transaction.Rollback();
}
}
public static bool DBSqlTransactionProcedure(SqlConnection conn,string[] strStoreProcedure)
{
SqlTransaction sql_transaction = conn.BeginTransaction();
SqlCommand cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = sql_transaction;
bool flag = false;
try
{
for (int i = 0; i < strStoreProcedure.Length; i++)
{
cmd.CommandText = strStoreProcedure[i];
cmd.ExecuteNonQuery();
}
sql_transaction.Commit();
flag = true;
}
catch
{
sql_transaction.Rollback();
}
return flag;
}
如果大家熟悉的请指点指点我。呵呵,谢谢大家!