0
  1. 项目清单

    我开发了一个应用程序,其中使用 sq lite 数据库。这在模拟器上正常运行。但是当我们将应用程序部署在 Blackberry 曲线 8520 手机上时。告诉我们数据库不存在。有知道的请速回复...

我的代码是->

public static void insertData( String pass , String cpass)
{
    boolean fl=false;
    String root = null;
    MainScreen ms = new MainScreen();
    Enumeration e = FileSystemRegistry.listRoots();
    while (e.hasMoreElements())
    {
        root = (String)e.nextElement();
        if(root.equalsIgnoreCase("store/"))
        {
            fl=true;
        }
    }
    if(!fl)
    {
        UiApplication.getUiApplication().invokeLater(new Runnable()
        {
            public void run()
            {
                Dialog.alert("This application requires an SD card to be present." + 
                             "Exiting application...");
                System.exit(0);
            }
        });
    }
    else
    {
        String dbLocation = "C:/om12345/sql/res/store/";
        // Create URI
        // Statement st=null;
        try
        {
            URI myURI = URI.create("file:///store/home/user/databases/database.sqlite");
            //URI myURI1=URI.
            d = DatabaseFactory.create(myURI);
            Statement st = d.createStatement( "insert into Admin (pass, Cpass) values('"+ pass+"','"+cpass+"')");
            st.prepare();
            st.execute();
            st.close();
            d.close();
            //ms.add(new RichTextField ("tata" + "tata1"));
            // UiApplication.getApplication.invokeLater(pushScreeen(ms));
        }
        catch ( Exception e1 )
        {
            System.out.println( e1.getMessage() );
            e1.printStackTrace();
        }
    }
4

3 回答 3

1

您可能无法/store为 8520 存储 sqlite 数据库。有关更多信息,请参阅我对 BlackBerry SQLite 数据库创建的回答:“文件系统未准备好”

于 2012-07-21T19:45:26.250 回答
0

如果您的内部存储空间小于 1gb,并且您已将数据库保存在 C 目录中,则无法将数据库创建到存储目录中,该目录可以从您的系统访问,但不能在设备上访问。所以改变它的位置复制到它的 res 文件夹中。& 检查您是否有 SD 卡,然后使用 /SDCard 保存您的数据库。如果 SDCard 不可用,您将无法访问数据库,如果您的内部存储空间超过 1GB,请查看此链接

http://docs.blackberry.com/en/developers/deliverables/17952/SQLite_database_files_1219778_11.jsp
于 2012-07-22T15:59:38.797 回答
0

您首先需要更改显示“String dbLocation =”C:/om12345/sql/res/store/“;”的行 因为它指的是您的开发机器上的一个位置,但不适用于移动设备。您需要指向应用程序本身的“res”文件夹。

于 2012-07-21T16:13:16.870 回答