EclipseでAdnroidプログラムを作成しました。このプログラムは、csvファイルを読み取り、その情報をSQLiteデータベースに入力します。
dbCursor = database.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_ITEMTYPE, KEY_QUANTITY}, null, null, null, null, null);
int iRow = dbCursor.getColumnIndex(KEY_ROWID);
int iType = dbCursor.getColumnIndex(KEY_ITEMTYPE);
int iQuantity = dbCursor.getColumnIndex(KEY_QUANTITY);
for(dbCursor.moveToFirst(); !dbCursor.isAfterLast(); dbCursor.moveToNext()){
allData = allData + " " + dbCursor.getString(iRow) + "\t " + dbCursor.getString(iType) + "\t\t\t " + dbCursor.getString(iQuantity) + "\n";
}
次に、テキストビューボックスにallDataを印刷すると、問題なく機能しました。
それから私は使いたかった
dbCursor = database.rawQuery("SELECT KEY_ROWID , SUM(KEY_ITEMTYPE) FROM DATABASE_TABLE GROUP BY KEY_ROWID", null);
for(dbCursor.moveToFirst(); !dbCursor.isAfterLast(); dbCursor.moveToNext()){
allDataSum = allDataSum + " " + dbCursor.getString(0);
} //I know this will probably not print what I want correctly but that's a problem for another day
これを印刷しようとすると、「10-25 22:06:35.016:I / Database(1911):sqliteが返されました:エラーコード= 1、msg =そのようなテーブルはありません:DATABASE_TABLE」というエラーが表示されます。
次に、DDMSファイルエクスプローラーを開いてデータベースをデスクトップにコピーし、コマンドツールでデータベースを表示しようとしましたが、「SQLエラー:そのようなテーブルがありません:インベントリ」というエラーが再び表示されました。
データベースにテーブルがないように見える場合、エミュレータは.query()から(ただし.rawQueryからではなく)見たいものをどのように表示できますか?私がクエリとrawQueryを使用することはすべて同じなので、rawQueryなどのデータベースを開かない場合ではありません。