XOJO从SQLite数据库中删除记录

时间:2013-07-09 18:27:42

标签: sqlite realbasic xojo

我正在使用Xojo 2013版本1.我试图从SQLite数据库中删除记录。但我失败了。不是删除记录,而是出于某种原因重复记录。

以下是我使用的代码:

command = "DELETE * from names where ID = 10"

namesDB.SQLExecute(command)

我正在动态生成命令。但是我改变它总是做同样的事情。带或不带引号的结果相同。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我要做的第一件事就是检查是否有错误产生。

if namesDB.Error then
  dim s as string = namesDB.errorMessage
  msgbox s
  return
end

它会告诉您是否存在数据库错误以及错误是什么。如果没有错误,则问题出在其他地方。

FWIW始终始终在每次数据库操作后检查错误位。与其他语言不同,如果出现数据库错误,Xojo不会生成/抛出异常,因此您需要检查它。

答案 1 :(得分:1)

尝试调用Commit()。

我刚刚使用“names”表创建了一个示例SQLite数据库,这段代码运行良好:

db.SQLExecute("Delete from names where ID=2")
db.Commit

我已经使用XOJO和SQLite做了很多工作,并且它们可以很好地协同工作。我在报告时从未见过错误的记录重复。这很奇怪。如果这没有帮助,请发布更多代码。例如,我假设你的“命令”变量是一个字符串,但也许它是一个变体等等。

答案 2 :(得分:0)

我认为在SQLite您不需要DELETEFROM之间的*。