私は現在、Androidアプリで最終年度のプロジェクトを行っています。ログインモジュールを作成しようとしましたが、その部分で常にエラーが発生します。
android.database.CursorIndexOutOfBoundsException: サイズ 1 でインデックス -1 が要求されました
「サイズ 1」は取得しようとしているユーザー データです。しかし、ここからどこへ行くべきかわかりません。誰でもこの問題を解決するのを手伝ってもらえますか? これが私のコードです:
Cursor c = agentDatabase.rawQuery("SELECT COUNT(username) FROM " + DATABASE_TABLE + " WHERE " + KEY_USERNAME + " = ? AND " +KEY_PASSWORD + " = ?", new String[]{user, pass});
String result = "";
if(c != null && c.moveToPosition(0)){
//if (c.moveToFirst()){
int r = c.getCount();
if(r == 1){
//Cursor d = agentDatabase.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE " + KEY_USERNAME + " = '" + user + "'", new String[]{ KEY_ROWID, KEY_NAME, KEY_EMAIL, KEY_USERNAME});
Cursor d = agentDatabase.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE " + KEY_USERNAME + " = ?", new String[]{user});
int iRow = d.getColumnIndex(KEY_ROWID);
int iName = d.getColumnIndex(KEY_NAME);
int iEmail = d.getColumnIndex(KEY_EMAIL);
int iUser = d.getColumnIndex(KEY_USERNAME);
result = result + d.getString(iRow) + " " + d.getString(iUser) + " " + d.getString(iName) + " " + d.getString(iEmail) + "\n";
}
//}
}
return result;
}