0

我有这段代码调用存储过程以将数据“插入”到 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' 中插入重复键。超时已过期。在操作完成之前超时时间已过或服务器没有响应。该语句已终止。”

4

1 回答 1

-1

我解决了伙计们。转到调试>异常,我只是在公共语言运行时异常中“未选中抛出的复选框”

于 2013-03-06T04:08:11.550 回答