私はAndroidとSQLiteも新しくなっています。私は、DBクエリがDBから特定の行を取得するメソッドを記述しようとしています。選択がnullに設定されている方法のこのバージョンでは正常に動作します:セクションストリングに何かを追加すると、アンドロイドのSQLite DBクエリが壊れますか?
public String anotherTry(){
String[] columns = new String[]{ KEY_SDATE, KEY_SC, KEY_VE };
Cursor cursor = db.query(DATABASE_TABLE, columns, null, null, null, null, null);
String result = "";
if (cursor != null){
cursor.moveToFirst();
result = result
+ cursor.getString(0) + "\n"
+ cursor.getString(1) + "\n"
+ cursor.getString(2) + "\n";
return result;
}
return null;
}
を私は選択の引数に何かを入れた場合、それがクラッシュします。例:
public String anotherTry(){
String[] columns = new String[]{ KEY_SDATE, KEY_SC, KEY_VE };
Cursor cursor = db.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + "8", null, null, null, null);
String result = "";
if (cursor != null){
cursor.moveToFirst();
result = result
+ cursor.getString(0) + "\n"
+ cursor.getString(1) + "\n"
+ cursor.getString(2) + "\n";
return result;
}
return null;
}
ここで何が問題になりますか?私は8行目を表示しようとしています。 KEY_ROWID + "=" + "8"、KEY_ROWID = "8"などのフォーマットコンボを試しましたが、運はありません。助けてくれてありがとう!
Cursor cursor = db.query(DATABASE_TABLE, columns, KEY_ROWID + "=8", null, null, null, null);
または私は何もCursorIndexOutOfBounds bcoz KEY_ID = 8であなたのデータベースに存在しないことを考える:
logcatのエラーは何ですか? – Sunny
私はrevelant LogCatのラインは次のと思います:アンドロイドデータベースCursorIndexOutOfBoundsException:インデックス0が要求され、0のサイズで – kirktoon1882