现在我要同时录入两个表,一个操作不成功,就停止录入。录入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();
            }
        }

解决方案 »

  1.   

    我只是这样想想的,还没有调试
    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;
            }
    如果大家熟悉的请指点指点我。呵呵,谢谢大家!
      

  2.   

    刚刚看了sql 的事务,试试。方便多了