【发布时间】:2013-07-14 16:42:17
【问题描述】:
我有一个使用 OleDB 连接到 Access 数据库的应用程序。我正在尝试为插入重复记录创建一些错误处理,其中存在唯一索引。
当抛出此错误时,我在异常中收到错误代码 -2147467259。然而,其他错误也会给出相同的错误代码;例如,数据库已满或列缺失。
有没有一种方法可以在不使用错误消息本身的情况下确定这些不同的错误,我的每个部分都说这是不可靠的。
我看过.innerexception,在插入重复的情况下没有内部异常。
我还查看了 .SQLState 属性,看来这是一个旧方法,并没有真正在 4.0 框架中使用。我可以应用它,但我可能会在错误时使用,而不是我想要的 try catch。
我现在的代码:
Try
Sender.cmdOLEDB.ExecuteNonQuery()
Catch ex As OleDbException
End Try
【问题讨论】:
-
捕获一般错误然后执行查询以检查是否存在具有相同ID的另一条记录。
-
@Adriano 好的,我会调查一下。仍然感觉我可能在此代码下的其他一些错误上遇到问题。
标签: .net sql vb.net error-handling oledb