求助高手帮忙分析一下 这个函数会不会出现我说的那种状况 两条指令第一条往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();
}
}
}