我正在 ASP.NET 中完成我的第一个任务。这是一个网站,我在 Visual Studio 中工作。

我无法弄清楚的是如何在 ExecuteNonQuery 失败时获取要显示的详细错误消息。

我正在使用 OleDb 连接,所以我的猜测是我必须使用 OleDbException 或 OleDbError 来获取详细的错误消息。

基本上,问题是 - 如果 ExecuteNonQuery 失败,我该如何更新此代码以获得详细的错误消息?

string v1 = Request["v1"];
string v2 = Request["v2"];
sql2 = "INSERT INTO table(one, two) VALUES('" + v1 + "', '" + v2  + "')";

System.Data.OleDb.OleDbConnection con2 = new System.Data.OleDb.OleDbConnection();
con2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data          Source=C:/Users/BB/Desktop/Database.mdb";
con2.Open();
OleDbCommand command = new OleDbCommand(sql2, con2);

try
{
    command.ExecuteNonQuery();
}
catch
{
    Response.Write("Error!");
    // detailed error message here?
}

最佳答案

将您的 catch 更改为 catch (Exception ex),然后您就可以使用 Response.Write(ex.Message)
理想情况下,您会对不同的异常类型有不同的捕获。这是一种捕获所有异常的存储桶方法。

关于c# - 如何获取详细的 ExecuteNonQuery 错误消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6084760/

10-13 08:13