我有这个代码调用存储过程将数据'插入'到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'中插入重复键。 超时已过期。操作完成之前经过的超时时间或服务器没有响应。 声明已经终止。“
答案 0 :(得分:-1)
我解决了它们。转到Debug>例外,我只是在公共语言运行时异常中“取消选中抛出的复选框”