XOJO从SQLite数据库中删除记录

XOJO从SQLite数据库中删除记录,sqlite,realbasic,xojo,Sqlite,Realbasic,Xojo,我使用的是Xojo 2013版本1。我正在尝试从SQLite数据库中删除一条记录。但我失败得很惨。它不是删除记录,而是出于某种原因复制记录 以下是我使用的代码: command = "DELETE * from names where ID = 10" namesDB.SQLExecute(command) 我正在动态生成命令。但无论我如何改变它,它总是做同样的事情。带引号或不带引号的结果相同 有什么想法吗?我要做的第一件事就是检查是否产生了错误 if namesDB.Error then

我使用的是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,总是,总是,总是在每次db操作后检查错误位。与其他语言不同,Xojo不会在出现数据库错误时生成/引发异常,因此由您检查异常。

尝试调用Commit()

我刚刚制作了一个带有“names”表的示例SQLite数据库,这段代码运行良好:

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

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

我认为在
SQLite
上,您不需要在
DELETE
FROM

之间添加*您是否尝试过删除
*
?是的。同样的结果你知道问题出在哪里吗?不,不幸的是同样的结果。我的代码没问题,毫无疑问。还有其他的事情在起作用…我花了很多时间和同样的结果。这正是发生的事情。假设我的ID=3,然后我将其删除。。。它消失了,但是在位置4上创建了新记录(具有相同的数据),并且三条记录消失了。我已经硬编码了命令字符串。。。动态转换它。。。出于某种原因,一切都一样。