protected void btnHiddenCheckIn_Click(object sender, EventArgs e)
{/ointments();
ScriptManager.RegisterStartupScript(this, this.GetType(), "starScript", "checkINClick('" + hidPatientName.Value + "');", true);
return;
}
}
}
}
1 に答える
ニキル、
先頭で宣言SqlTransaction objSqlTransaction;
しますが、初期化しないでください。
objSqlDbComm
Connection、TimeOut などのプロパティを設定する場所...SqlCommand.Transaction
プロパティに設定するには、SqlTransaction オブジェクトを渡す必要があります。
トランザクションを開始したい場所で、オブジェクトを初期化します。
objSqlTransaction = Master.objSqlDbComm.SqlConnectionObject.BeginTransaction();
そして、挿入と更新が終了したら、else... write の最後にある可能性があります。transaction.Commit();
成功しなかった場合は例外がスローされます...コードに try catch を追加し、try を開始する前に SqlTransaction を宣言し、catch でtransaction.RollBack();
MSDN の完全な例を参照してください:
SqlTransaction
更新:
これは、ExecuteNonQuery と ExecuteDataSet に同じ SqlCommand オブジェクトを使用しているためです。ExecuteDataSet の場合は別の SqlCommand オブジェクトを使用する必要があります... SqlCommand はトランザクションの一部であるためです!