我正在制作一个程序,允许您从应用程序执行搜索。然后,应用程序将下载搜索结果并将其存储在数据库中。我使用url作为主键,这样我就可以确保我没有输入两次相同的数据(因为URL肯定是唯一的标识符),但是这会引起一些问题。尝试使用相同的URL保存行时,数据库会出错并崩溃。我想这很好,因为我可以将我的insert语句放在try / catch块中。我有一些问题:
我应该捕捉什么(尝试捕获阻止)以检测何时发生这样的错误,其中它正在尝试插入数据库的项目已经存储?
这是一个简单的“一次将每个搜索结果添加到DB 1”的方法。如果我想进行数据库事务并一次添加〜25,该怎么办?我怎么知道哪一个是错误的,最好的方法是什么?有没有办法让它继续添加没有问题的其余部分?
答案 0 :(得分:0)
好吧,您可以在桌面上运行select
,以便在尝试插入之前查看该网址是否已存在。
但是你应该尝试更优雅地处理插入错误。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以尝试使用INSERT OR REPLACE
http://www.sqlite.org/lang_insert.html