データベースでクエリを実行しようとしています。データベースはアプリで作成されていません。外部で作成し、このチュートリアルの説明に従って使用しています。しかし、列_idに関連するエラーがあります。クラス DatabaseHelper には、次のコードがあります。
public Cursor Search(Context context,String search){
SQLiteDatabase db= getReadableDatabase();
String cursorFactory = "SELECT * FROM words WHERE eng || ' ' || rus LIKE ?";
Cursor cursor = db.rawQuery(cursorFactory, new String[]{"%" + search + "%"});
return cursor;
}
アクティビティで、私が書いたコードは次のとおりです。
public void search(View v){
text2search= searchText.getText().toString();
cursor= myDbHelper.Search(mContext, text2search);
adapter =new SimpleCursorAdapter(getBaseContext(),R.layout.list_item,
cursor,
new String[]{"rusword","engword","kind"},
new int[]{R.id.rusWord,R.id.engWord,R.id.knd});
wordsList.setAdapter(adapter);
}
そして、_id:(LogCat 内) に関連するエラーが発生します。
09-03 14:12:38.018: E/AndroidRuntime(16581): 原因: java.lang.IllegalArgumentException: 列 '_id' が存在しません
しかし、私が作成したデータベースには「_id」列があります:(画像をアップロードできないので、リンクはこちらhttps://www.dropbox.com/s/9a2ol1acrnxmzob/sql-db-rusWjpg.png )
ありがとうございました!