2012-02-17 11 views
0

SQliteデータベースからテーブル値を取得しようとしていますが、DatabaseFactory.open()でURIを開くことができません。 BlackBerryのSQLiteデータベースから値を取得できません

は、私は以下のコードを書いた:

URI myURI = null; 
    Cursor cursor = null; 
    try 
    { 
     myURI = URI.create("/SDCard/databases/itemdb.db"); 

     try 
     { 
      if(DatabaseFactory.exists(myURI)) 
      { 
       Database sqliteDb = DatabaseFactory.open(myURI); 
       try 
       { 
        Statement st=sqliteDb.createStatement(query); 
        st.prepare(); 
        Logger.out("Grocery", "it is comin here ---- 12"); 
        cursor = st.getCursor(); 
       } 
      } 
     } 
    } 
+0

"itemdb.db"データベースはアプリケーションによって作成されていますか?暗号化された形式でデータベースを作成していますか?ほとんどのインポートは、このコードを実行する前にあなたのシミュレータであなたのPCのファイルシステムのSDカードをマウントしましたか?私に物事をはっきりと教えてください。 –

+0

はい.It itemdb.dbは私のアプリケーションによってのみ作成されています。そして、私はすでにSDカードをマウントしています。そして、dbに値を挿入しているとき、それは適切に起こっています。私はそれらの値も見ることができます。しかし、検索時の問題だけ。 –

+0

OKこれはhttp://stackoverflow.com/a/9324410/914111リンクを参照してください、どのようにあなたが疑問を持ってどのようにここに来てくださいhttp://chat.stackoverflow.com/rooms/4014/knowledge-sharing-center-for-blackberry-and-java –

答えて

0

あなたはオープン()の呼び出しが失敗したときに取得エラーメッセージが含まれている場合それが良いだろう。 itemdb.dbだけ私のアプリで作成されていyes..That

:このコメントに基づいて

。そして、私はすでにSDカードをマウントしています。そして、dbに値を挿入しているとき、それは適切に起こっています。私はそれらの値も見ることができます。しかし、検索時の問題だけ。

私はあなたがすでにデータベースを開いていると推測しています。挿入コードがデータベースを適切に閉じていることと、読み取りが挿入コードと同時に実行されないように同期が取られていることを確認します。