保存到数据库时出现异常处理错误

时间:2014-04-02 13:16:40

标签: c# .net exception exception-handling

我是一个需要帮助的新手。保存到数据库时,我收到以下错误: 在(我的应用程序名称)中发生了'System.Data.SqlServerCe.SqlCeException'类型的第一次机会异常

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果设置了Visual Studio设置,则会显示第一次机会异常,以便报告每个CLR异常。 这将包括您实际处理的例外情况。

在Visual Studio的菜单中,转到Debug>异常并取消选中Common Language Runtime Exceptions的Thrown选项。

当然,不会让实际的例外情况消失,但您可以根据需要处理它:

try
{
    // do your query

    // commit current transaction if possible/necessary
}
catch (SqlCeException ex)
{
    // handle exception here and rollback current transaction if possible/necessary
}
finally
{
    // ensure proper disposal of any commands and connections you have
}

不言而喻,您必须确保正确编写查询,并确保其尝试使用的服务器对象存在。例如,您通常不想处理丢失逗号或找不到字段的情况。异常处理必须是代码无法控制的特殊情况,例如故障连接,服务器故障等。

答案 1 :(得分:0)

首先,您可能需要检查SQL查询在语法上是否正确。

其次,您可能希望了解如何使用try-catch语句处理MSDN http://msdn.microsoft.com/en-us/library/0yd65esw.aspx中的异常。

一个小例子就是这样。

try
{
    // ... code which throws exception
}
catch (SqlCeException e) 
{
    // ... exception handling, e.g. logging, rolling back data,
    // telling the user something went wrong, you name it
}

最后但并非最不重要的是,您可能希望逐步调试应用程序,以查看导致错误的原因以及实际SQL查询引发异常的内容。