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

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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?