我有这段代码调用存储过程以将数据“插入”到 SQL 中的表中。
using (SqlConnection connection = new SqlConnection(Global_Variables.DBcon))
{
SqlCommand cmd = new SqlCommand("sp_WinApps_Import_ERData", connection);
cmd.CommandType = CommandType.StoredProcedure;
connection.Open();
try
{
cmd.ExecuteNonQuery();
Console.WriteLine("file imported!");
}
catch (SqlException ex)
{
Console.WriteLine("BATCH ID ALREADY EXISTS!" + ex.Message );
}
finally
{
connection.Close();
}
}
但问题是,它没有捕捉到“try-catch 方法”中的错误,我不知道为什么,但我的代码是正确的。
错误说:“违反 UNIQUE KEY 约束 'Cons_BatchID'。无法在对象 'dbo.tbl_WinApps_FileHeader' 中插入重复键。超时已过期。在操作完成之前超时时间已过或服务器没有响应。该语句已终止。”