0

我正在 netbeans 中开发 java 应用程序。我连接了数据库 sqlite,它运行良好。现在,我正在尝试删除数据库中的一个字段:

public void delete(){
    dbo.openConnection();
    String sqlCommand = "DELETE FROM restaurante WHERE id_restaurante = " + this.id_restaurante;
    System.out.println(sqlCommand);
    dbo.executeSQL(sqlCommand);
    dbo.closeConnection();
}

当我执行这个方法时,我得到这个错误:

DELETE FROM restaurante WHERE id_restaurante = 4
ERRO null

...并且该字段不会在数据库中删除。

如果我复制这一行:DELETE FROM restaurante WHERE id_restaurante = 4并尝试在 sqlite 管理器(附加 firefox)中删除,效果很好。

有任何想法吗?

4

3 回答 3

0

这应该工作

String sqlCommand = "DELETE FROM restaurante WHERE id_restaurante = '" +id_restaurante+"'";
于 2013-04-20T19:28:57.727 回答
0

也许试试这个:

String sqlCommand = "DELETE FROM `restaurante` WHERE `id_restaurante` = " + this.id_restaurante;
于 2013-04-20T15:55:39.943 回答
0

什么是错误空???是堆栈跟踪不完整还是您自己编写的?我想对于第二种解决方案,方法有问题

dbo.executeSQL(sqlCommand);

调试或添加日志。
检查:

  1. 连接正确打开。
  2. 检查上面的方法中是否没有空指针。我几乎可以肯定这就是问题所在。
  3. 检查您是否有权删除程序中的连接。
于 2013-04-20T15:57:32.767 回答