[英]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.