問題は '' android.database.sqlite.SQLiteExceptionです:テーブルSCHOOLSUBJECTはSUBJECT(コード1)という名前のカラムがありません: '' 私のコードに何が問題なのですか? 私はいくつかのデータをデータベースに入れてそれを表示したいと思います。カラムとテーブル - SQLite
private static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "SQLiteDatabase.db";
public static final String TABLE_NAME = "SCHOOLSUBJECT";
public static final String COLUMN_ID = "ID";
public static final String COLUMN_FIRST_NAME = "SUBJECT";
public SQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_FIRST_NAME + " VARCHAR);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public boolean addData(String item)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COLUMN_FIRST_NAME,item);
Log.d(" DatabaseHelper","addData: Adding " + item + " to " + TABLE_NAME);
long result = db.insert(TABLE_NAME,null,contentValues);
db.close();
if(result ==1)
return false;
else
return true
}
public String getData()
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
if (cursor != null)
cursor.moveToNext();
String dataa = cursor.getString(1);
return dataa;
}
}
例外のスタックトレースと、例外をスローするコードを投稿してください。また、 'create table'ステートメントの終わりにセミコロンを削除してみてください。 –
以前のテスト実行後に列を追加したか、その名前を変更しました。 –
アプリを再インストールするか、データを消去してください。データベースが再度生成され、おそらく動作します。 @ModularSynthで述べたようにデータベースを変更した可能性があります –