XOJO从SQLite数据库中删除一条记录



我使用的是Xojo 2013版本1。我正试图从SQLite数据库中删除一条记录。但我失败得很惨。它没有删除记录,而是出于某种原因复制了它。

这是我使用的代码:

command = "DELETE * from names where ID = 10"
namesDB.SQLExecute(command)

我正在动态生成命令。但无论我怎么改变,它总是一样的。带引号或不带引号的结果相同。

有什么想法吗?

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

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

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

FWIW,总是,总是,在每次数据库操作后检查错误位。与其他语言不同,如果出现数据库错误,Xojo不会生成/抛出异常,因此由您进行检查。

尝试调用Commit()。

我刚刚制作了一个带有"名称"表的示例SQLite数据库,此代码运行良好:

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

我用XOJO和SQLite做了很多工作,它们配合得很好。我从未见过你报告时错误复制的记录。这很奇怪。如果这没有帮助,发布更多的代码。例如,我假设您的"command"变量是一个String,但可能是一个Variant,等等。

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

相关内容

  • 没有找到相关文章

最新更新