1

我的应用程序建立了一些数据库连接(sqllite)并执行了一些基本的数据库操作(插入、删除、搜索),我为此编写了一些代码,它在模拟器中完美运行,但在手机中却没有,任何人都可以帮助克服这个问题,在此先感谢.我使用以下代码插入数据,我已经添加了创建数据库和表的代码。我在我的应用程序文件夹中创建文件夹 SDCard,

public void insertInTotblFavStationList(String url,String StationName,String imageUrl,String bitRate,String formats){
        try {
            URI uri = URI.create("file:///SDCard/Databases/myDb.db");
            Statement statement =null;
            Database grabDB = null;
            grabDB = DatabaseFactory.open(uri);
            statement = grabDB.createStatement("insert into tblFavStationList(url,StationName,StationImage,Bitrate,Formats) values (?,?,?,?,?)");
            statement.prepare();
            statement.bind(1, url);
            statement.bind(2, StationName);
            statement.bind(3, imageUrl);
            statement.bind(4, bitRate);
            statement.bind(5, formats);         
            statement.execute();
            statement.close();
            grabDB.close();
            System.out.println("ins");

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

    }
4

2 回答 2

2

我发现当我的 BB 连接到我的 Macbook 时,即使 USB 文件共享已关闭,SDCard 似乎也已安装。这意味着存储在那里的任何数据库文件都无法访问,并且会抛出“无效的路径名”。

通过进入相机应用程序检查您的 SDCard 是否已安装,如果是,它会警告您无法保存照片。

尝试加载您的应用程序,然后断开 USB。这很痛苦,因为这意味着您无法正确调试。

于 2011-03-25T19:03:16.303 回答
0

SQLLite 仅适用于黑莓版本 5 及更高版本。你用的是什么型号的手机?这可能是你的问题。你也可以发布你的手机抛出的错误吗?

我也可能与代码签名有关。SQLite 要求您对应用程序进行代码签名 模拟器不需要它,但它适用于您的手机。这是因为它用于操作的 API。代码符号

于 2011-03-18T16:03:18.173 回答