bucaijinggai 2014-04-15 13:42
浏览 1354

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();
            }
        }
    }
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 MATLAB动图问题
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名