4

テーブルに対してクエリを実行しようとしていますdormpolicy

String operatorName = "46001";
String selection = "(plmn = '"+operatorName+"')";
URI CONTENT_URI_DORMPOLICY = Uri.parse("content://nwkinfo/nwkinfo/dormpolicy");
cursor = phone.getContext.getContentResolver().query(CONTENT_URI_DORMPOLICY, null,      selection, null, null);

エラーログが表示されます:

 SQLiteQuery: exception: no such table: dormpolicy; 

 query: SELECT * FROM dormpolicy  WHERE ((plmn = '46001'))

この問題は、私の携帯電話で常に発生するとは限りません。

テーブルが作成される前にテーブルにアクセスすると、時々あるようです。

テーブルにクエリを実行する前に、テーブルが存在するかどうかを確認する方法はありますか?

そしてどうやって?

4

1 に答える 1

3

私の答えは 2 つあります。

  1. 質問に厳密に答えるために、Android SQLite データベースにテーブルが存在するかどうかをどのように確認しますか?にリダイレクトします。

  2. ただし、テーブルの存在を手動で確認するのではなく、SQLiteOpenHelperクラスを使用することをお勧めします。これは、構造化された方法でテーブルを管理するのに役立ちます。これには、データベースのアップグレードの処理が含まれます。クイック スタートについては、こちらをご覧ください: http://developer.android.com/guide/topics/data/data-storage.html#db

于 2012-07-20T12:00:01.180 に答える