【问题标题】:Deleting row from SQLite Database : Blackberry从 SQLite 数据库中删除行:黑莓
【发布时间】:2012-05-22 05:50:52
【问题描述】:

我正在使用表格适配器屏幕创建一个布局,以表格方式显示数据库中的数据。我向布局的每一行添加了一个按钮字段以删除该特定行。 下面我附上删除代码。它显示异常:SQL 逻辑错误或缺少数据库。 我的查询有什么问题吗??? 数据库的创建、表格、插入、检索等功能没有问题。 请在这里帮助我。 它在 .prepare() 处给出错误;声明。

    public void deletetarget(String cname) {

        Statement deletetarget = null;

        try

        {
            URI myURI = URI.create("file:///store/home/Databases/SampleDatabase.db");

            d.close();
            d = DatabaseFactory.open(myURI);

    deletetarget = d.createStatement("DELETE  FROM targetCity WHERE KEY_CITYNAME         ='"+cname+"'");

            deletetarget.prepare();

                deletetarget.execute();
            deletetarget.close();
            d.close();  
        }

        catch ( Exception e ) 

        {         

            System.out.println("Delete Statement Exception "+e);
            e.printStackTrace();
        }
    }

【问题讨论】:

  • 我在查询中传递名称,该名称是从选定的行中获取的。
  • 目前你调试过你的代码你得到什么异常??
  • 异常:SQL 逻辑错误或缺少数据库

标签: sqlite blackberry blackberry-eclipse-plugin


【解决方案1】:

在创建 URI 之前关闭您的数据库。

像这样改变你的查询写...

deletetarget = d.createStatement("DELETE  FROM targetCity WHERE KEY_CITYNAME = '"+cname+"'");

【讨论】:

  • BBdev....与您的回复相比,我的代码没有区别.....查询中的空格只是因为我在粘贴时将代码写在了下一行......它在插件中正确写入。
  • okkk 然后在创建 uri 之前检查数据库是否关闭,如果没有,则关闭它。然后尝试创建 URI 和所有内容。我已经更新了答案。
  • 我已经这样做了............调用prepare()方法时发生错误
  • 当我看到你的代码时,我看到你在创建 URI 后关闭数据库,所以在创建你的 URI 之前关闭数据库,然后尝试打开你的数据库。
  • 是不是因为我将 cname 变量传递到查询中???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2011-11-10
相关资源
最近更新 更多