如果發生任何錯誤,我將插入一系列帶回滾選項的行。從C#代碼插入錯誤回滾
BEGIN TRY
BEGIN TRANSACTION
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN -- Transaction Success!
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRAN --RollBack
END CATCH
在C#中,我插入for循環的行。這裏也有可能達到同樣的功能嗎?
foreach(string lst in str[])
{
//insert query
dbl.ExecSqlNonQuery("sp_tbltest", CommandType.StoredProcedure);
}
如果在循環中發生任何錯誤,所有行都應回滾。
您應該調查XACT_ABORT ON'將如何'SET更改代碼的錯誤回滾。 –