データベースにクエリを実行して、テキストボックスに入力された名前を返そうとしています。データベース内のすべてのアイテムを表示できましたが、テキストボックスを使用して名前を検索したいと思います。名前を入力して検索ボタンを押すと、log catは、「そのような列はありません:john:コンパイル中:SELECT name、gender、height、age、hair FROM details WHERE name = john ORDERbyname。」というエラーを表示します。
private void findRecords(){
EditText find = (EditText)findViewById(R.id.nameSearch);
EditText name = (EditText)findViewById(R.id.nameFound);
EditText gender = (EditText)findViewById(R.id.genderFound);
String s = find.getText().toString();
//Long l = Long.parseLong(s);
DatabaseClass hon = new DatabaseClass(this);
String returnedName = hon.getName(s);
String returnedGender = hon.getGender(s);
name.setText(returnedName);
gender.setText(returnedGender);
}
public String getName(String s) {
// TODO Auto-generated method stub
String[] columns = new String[] {NAME_COLUMN, GENDER_COLUMN, HEIGHT_COLUMN, AGE_COLUMN, HAIR_COLUMN};
Cursor c = sherlockdb.query(TABLE_NAME, columns, NAME_COLUMN +"="+ s, null, null, null, NAME_COLUMN);
if (c != null){
c.moveToFirst();
String name = c.getString(1);
return name;
}
return null;
}
親切に助けてください