Android studio SQLiteデータベースエラーレコード
1、エラー:no such column:userName
解決:フォーマットエラー、タイプTEXTの前にスペースが必要です!
2、タイプの前にすべてスペースを追加しましたが、エラー:no such column:userName
解決:データベースが更新されず、バージョン番号が更新されます.本番アプリケーションでは、既存のデータを削除するのではなく、テーブルを変更する方法を変更する場合があります.
初心者の勉強では、どのように修正するかまだ分かりません.
3、エラー:android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
解決:下付きスケールは境界を越え、cursor下付きスケールは-1から始まり、0ではなく移動し、if文を追加する必要があります.実はまだよく分からないのですが、なぜ最初に移動すればいいのか.
解決:フォーマットエラー、タイプTEXTの前にスペースが必要です!
UserInfoEntry.COLUMN_USER_NAME + " TEXT NOT NULL, "
2、タイプの前にすべてスペースを追加しましたが、エラー:no such column:userName
解決:データベースが更新されず、バージョン番号が更新されます.本番アプリケーションでは、既存のデータを削除するのではなく、テーブルを変更する方法を変更する場合があります.
初心者の勉強では、どのように修正するかまだ分かりません.
// ,
private static final int DATABASE_VERSION = 4;
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) {
// // onUpgrade , ( )
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + UserInfoEntry.TABLE_NAME);
// // onCreate SQLiteDatabase( onUpgrade)
onCreate(sqLiteDatabase);
}
3、エラー:android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
解決:下付きスケールは境界を越え、cursor下付きスケールは-1から始まり、0ではなく移動し、if文を追加する必要があります.実はまだよく分からないのですが、なぜ最初に移動すればいいのか.
if (cursor.moveToFirst()){
queryPassword=cursor.getString(cursor.getColumnIndex(UserInfoContract.UserInfoEntry.COLUMN_USER_PASSWORD));
}