Kin*_*sin 7 c# database sqlite try-catch updateexception
我有我的本地SQLite数据库有以下问题.我正在尝试使用在线SQL-Server数据库更新通过同步过程存储的数据.虽然同步化没有问题,但在尝试更新本地值时经常会遇到错误.例如,每个表上可能存在违反现有Primary-Key-Constraints的情况.另一方面,在具体的桌子上也可能违反了Unique-Key.
我的问题是如何找出发生了哪种类型的错误.
我抓住数据库更新或插入之类的
catch(UpdateException ue)
{
HandleUpdateException(ue);
}
Run Code Online (Sandbox Code Playgroud)
handle方法如下:
private void HandleUpdateException(UpdateException e)
{
// get inner exception as SQLiteException
var innerException = e.InnerException as SQLiteException;
if(innerException != null)
{
switch(innerException.ErrorCode)
{
case SQLiteError.Constraint:
// handle constraint-error here
break;
default:
// log error
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我现在该怎么发生错误?重要的是要知道,因为PK违规的处理完全不是违反英国的行为.
我可以试着做
if(e.Message.Contains("unique")) // ...
Run Code Online (Sandbox Code Playgroud)
要么
if(e.Message.Contains("foreign")) // ...
Run Code Online (Sandbox Code Playgroud)
但我不喜欢用"魔法"字符串检查这种错误.
所以任何帮助将不胜感激.
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |