2012-04-16 9 views
0

ブラックベリーでSqliteデータベースを操作することに関する知識がありません。最近私はブラックベリーとデータベースに掘り下げた。私はデータベースを作成しようとすると、データベースは正常にいくつかの特定のフォルダ上のシミュレータ(Simulate - > ChangeSDCard - > MountDirectory)で作成されます。Blackberry SimulatorでSQLiteデータベースを開く問題?

次の私はそれがメッセージとDatabaseExceptionのエラーを通じて

 String db_url ="file:///SDCard/Databases/"+"sampleTest.db"; 
     db = DatabaseFactory.open(db_url); 

をdata--挿入するテーブル&作成するためのデータベースを開こう:「無効なパス名をパスが適切なルートリストが含まれていません参照してください。詳細については、FileSystemRegistryクラスを参照してください。

私を助けてください!何が起こっているのかここで間違っている。

+0

それは、のパスを取得されていませんsdcard ... – Hasmukh

+0

まず、シミュレータでsdcardを設定する必要があります。 – Hasmukh

+0

@Hasmukh SDCardパスも設定してから、Simulate - > ChangeSDCard - > MountDirectoryを使用してアプリケーションを実行します。しかし、それは例外をスローしています。 –

答えて

1

まずセットシミュレータでSDカード: ゴーシミュレート - >変更のSDカード - このような>(SDカードのフォルダパスを)ディレクトリを追加

書込み問合せ:

public Vector GetData() 
    {   
     Cursor c = null; 
     Statement st = null; 
     Vector tableVector=new Vector(); 
     try 
     { 

      URI myURI = URI.create("/SDCard/" + "abc.db"); 
      d = DatabaseFactory.open(myURI); 
      st= d.createStatement("Query"););    
      st.prepare();    
      c = st.getCursor();    
      Row r;    
      while(c.next()) 
      {    
       r = c.getRow();     
       tableVector.addElement(r.getString(0)); 
      }   
     } 
     catch (Exception e) 
     {  
      System.out.println(e.getMessage()); 
      e.printStackTrace(); 
     } 
     finally 
     {   

      try { 
       c.close(); 
      } catch (DatabaseException e) { 

       e.printStackTrace(); 
      } 
      try { 
       st.close(); 
      } catch (DatabaseException e) { 

       e.printStackTrace(); 
      } 
      try { 
       d.close(); 
      } catch (DatabaseIOException e) { 

       e.printStackTrace(); 
      } 
     } 
     return tableVector; 


    } 
+0

ありがとう@hashMuk!私はこのコードをテストします。 –

関連する問題