问题是''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提到 –