0

我开发一个应用程序,它使用sqllite来存储一些数据,我使用http://docs.blackberry.com创建数据库中的代码,创建表等。它在我的模拟器中工作正常 但不是在我的黑莓bold9000。我得到了一个异常“net.rim.device.api.database.DatabasePathException:路径名无效,Path没有包含正确的根列表,请参阅FileSystemRegistry类获取详细信息。”所以我尝试使用URI uri = URI.create(“/ store/home/user/myDb.db”)在内存中存储数据库。 它也失败了,我被困在这里,专家请帮助我。 这是我的代码或手机的问题吗?也请发送有用的链接,并与我分享您的想法。提前感谢了很多。我用下面的代码...黑莓SQLite路径异常

public void creatDatabase(){ 
    try { 
     URI uri = URI.create("/SDCard/Databases/myDb.db"); 
     Statement statement =null; 
     Database grabDB = null; 
     if(!DatabaseFactory.exists(uri)){ 
      grabDB = DatabaseFactory.create("file:///SDCard/Databases/myDb.db"); 
      statement = grabDB.createStatement("create table tblFavStationList(url Text PRIMARY KEY, StationName Text,StationImage Text,Bitrate Text ,Formats Text)"); 
      statement.prepare(); 
      statement.execute(); 
      statement.close(); 
      System.out.println("tab1 created..."); 
      statement = grabDB.createStatement("create table tblTagStationList(Tagurl VARCHAR(256) PRIMARY KEY, TagSongDesc VARCHAR(256))"); 
      statement.prepare(); 
      statement.execute(); 
      statement.close(); 
     grabDB.close(); 
     System.out.println("db cre"); 

     } 
    } catch (Exception e) { 
    System.out.println(e); 
    } 

} 
+2

您是否检查过手机上的路径以验证每个方面是否存在?也就是说,SD卡是否有一个名为“数据库”的目录?这是一段时间,因为我建立了一个分贝,但我记得处理类似的问题 – taylonr 2011-03-24 13:32:39

+1

感谢Tayonr,你的评论帮助我解决了例外,Thaks很多 – Jisson 2011-03-24 14:12:18

回答

2

我终于得到了解决

当我使用grabDB = DatabaseFactory.openOrCreate(“”)

,问题解决了,感谢每一个机构帮助我。

+0

并且还从移动中删除代码 – Jisson 2011-03-31 10:49:47