2012-05-22 41 views
0

我使用Table Adapter Screen创建一个布局,以表格的形式显示来自数据库的数据。我在布局的每一行添加了一个按钮字段以删除该特定的行。 下面我附上删除代码。它显示异常:SQL逻辑错误或缺少数据库。 我的查询有什么不对吗? 在创建,表格,插入,回复等数据库功能没有问题。 请帮助我在这里。 它在.prepare();声明。从SQLite数据库删除行:Blackberry

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(); 
     } 
    } 
+0

I M传递查询的名称,它是从选定的行获得。 – optimus

+0

目前你有没有调试过你的代码? – BBdev

+0

异常:SQL逻辑错误或缺少数据库 – optimus

回答

1

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

更改您的查询写这样的...

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

BBdev ....与我的回复相比,我的代码没有区别.....查询中的空间仅仅是因为我在粘贴时在下一行写了代码它在这里......它正确写入插件中。 – optimus

+0

okkk然后在创建你的uri之前检查数据库是否关闭,如果没有则关闭它。然后尝试创建URI和全部。我已经更新了答案。 – BBdev

+0

即时通讯已经这样做..............准备()方法被调用时发生错误 – optimus