2 bucaijinggai bucaijinggai 于 2014.04.15 21:42 提问

c# 事务处理 发现第一条sql语句执行插入成功了 第二条执行更新没成功

求助高手帮忙分析一下 这个函数会不会出现我说的那种状况 两条指令第一条往Table1插入了一条信息 第二条更新Table2的某个字段 奇怪的是Table1插入了一条信息 但Table2没执行更新 不知道是不是这个函数的原因 如果这个函数不会出现这种状况麻烦高手帮忙分析一下可能是什么原因 谢谢

public void ExecuteScalar(CommandType cmdType, string[] cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();

        using (SqlConnection conn = new SqlConnection(CONN_STRING))
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();
            SqlTransaction tx = conn.BeginTransaction();
            try
            {
                for (int i = 0; i < cmdText.Length; i++)
                {
                    cmd.Connection = conn;
                    cmd.CommandText = cmdText[i];

                    if (tx != null)
                        cmd.Transaction = tx;

                    cmd.CommandType = cmdType;

                    if (cmdParms != null)
                    {
                        foreach (SqlParameter parm in cmdParms)
                            cmd.Parameters.Add(parm);
                    }
                    object val = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                }
                tx.Commit();
            }
            catch (System.Exception ex)
            {
                tx.Rollback();
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!