私はすべての食品のデータベースを持っています。データベースで可変食品を検索し、そのカーソルを取得したいと考えています。例として、食品アイテム = オレンジを考えてみましょう。次の行は、ターミナルに入力したときに正しい結果を示します。
SELECT * from food WHERE item = 'Oranges'
それを実装するために、以下のように SQLiteOpenHelper を拡張するクラスで getOneItem というメソッドを作成しました。
public Cursor getOneItem(String itemName) {
return myDataBase.query(TABLE, null, C_NAME+" = " +itemName , null, null, null, null);
}
しかし、メソッドが呼び出されると、「そのような列はありません: オレンジ、コンパイル中にエラーが発生します。
SELECT * from table WHERE item = Oranges
コンピューターが Oranges という列を検索し、列内で Oranges を検索しないのはなぜですか?
メソッドを次のように変更したとき:
public Cursor getOneItem(String itemName) {
return myDataBase.query(TABLE, null, C_NAME+" = '" +itemName +"'", null, null, null, null);
}
CursorIndexOutOfBoundException、Index -1 がサイズ 1 で要求されました