簡體   English   中英

c#中的SQL服務器多個命令異常捕獲

[英]SQL server multiple command exception catch in c#

我在單個命令中執行多個更新,例如:

System.Data.SqlClient.SqlCommand command = new 
System.Data.SqlClient.SqlCommand();
command.CommandText="executing first updateSP" +"executing second 
updateSP"+.....+"executing 10th updateSP"
try
{
command.ExecuteNonQuery();
}
catch(sqlException ex)
{
ex.message;
}

如果第 2、第 3、第 4 個更新出現異常,但在 catch 塊中我只得到一個 spupdate 異常。 有沒有辦法獲得所有更新異常?

你總是可以使用一組 SQL 文本命令,我也總是使用連接來創建命令:

string[] cmds = new string[3] {  sp1_SQL, sp2_SQL, sp3_SQL };
try
{
  foreach( string sql in cmds)
  {
     using(System.Data.SqlClient.SqlCommand command = conn.CreateCommand())
     {
       command.CommandText = sql;
       var rtn = command.ExecuteNonQuery();
     }
   }
}
catch(sqlException ex)
{
  ex.message;
}

此代碼將在第一個異常后中止,但是如果您想繼續執行每個語句而不管異常如何(讓我的肚子受傷)然后將 try/catch 移動到foreach

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM