我正在處理sql,我的查詢是,我有一些方法,我在做不同的任務。例如: - 第一個方法 - 插入 第二方法 - 更新用 第三屆方法 - 刪除 4 methos - 插入如何實現交易?
現在我想執行所有這些的一次。但如果發生任何錯誤,那麼整個過程會自行回滾。
代碼:
private void btnSubmit_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("Are you sure you want to submit the information? Click 'Yes' to Submit or 'No' to re-Check.", "eParty - Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
this.Cursor = Cursors.WaitCursor;
INSERT();
UPDATE();
DELETE();
INSERTAGAIN();
MessageBox.Show("Booked successfully.", "eParty - Done!", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Cursor = Cursors.Default;
this.Cursor = Cursors.WaitCursor;
this.Close();
}
else
{
}
}
現在如何落實 'btnSubmit_Click' 的方法交易...
先生,我來實現你的代碼,但我不知道如何讓我的方法退貨。你能告訴我,我所有的方法應該做什麼改變。我用這: 公共無效INSERT(){ // 代碼 } – 2013-03-14 06:21:57
@SandeepKumarThenua嗨。您可以使用SqlCommand.ExecuteNonQuery,它返回您的查詢所做的受影響行數。所以如果它是-1,那麼就拋出SqlExecption。另一種方法是爲您的服務器捕獲@@錯誤,並在您的代碼中處理它。或者你可以返回方法中受影響的行數:public long INSERT(){//代碼;返回SqlCommand.ExecuteNonQuery(); },如果它是-1,則進行回滾 – Alex 2013-03-14 07:13:00