我如何在按钮点击事件中应用交易

时间:2012-12-01 12:02:07

标签: c# asp.net

protected void btnHiddenCheckIn_Click(object sender, EventArgs e)
{/ointments();

                ScriptManager.RegisterStartupScript(this, this.GetType(), "starScript", "checkINClick('" + hidPatientName.Value + "');", true);
                return;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

尼基尔,

在顶部声明SqlTransaction objSqlTransaction;,但不要初始化它!

您在设置objSqlDbComm属性(如Connection,TimeOut等)的位置...您需要传递SqlTransaction对象以设置为SqlCommand.Transaction属性!

现在,您要在哪里启动事务处理初始化对象:

objSqlTransaction = Master.objSqlDbComm.SqlConnectionObject.BeginTransaction();

当你完成插入和更新时,可能在其他的末尾...写transaction.Commit();,如果不成功则会抛出异常...所以将try catch添加到你的代码中,在开始try和catch transaction.RollBack();

之前声明SqlTransaction

请参阅MSDN上的完整示例:
SqlTransaction

<强>更新
那是因为你对ExecuteNonQuery和ExecuteDataSet使用相同的SqlCommand对象,你需要在ExecuteDataSet时使用不同的SqlCommand对象...因为你的SqlCommand是事务的一部分!