Android 表中没有名为error的列
我正在使用这些代码,但由于“TableBook info没有名为pdate的列”而出现错误 数据库类的方法Android 表中没有名为error的列,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我正在使用这些代码,但由于“TableBook info没有名为pdate的列”而出现错误 数据库类的方法 public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String CREATE_BOOK_TABLE = "CREATE TABLE bookinfo ( " + "id INTEGER PRIMARY KEY AUTOINCREM
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String CREATE_BOOK_TABLE = "CREATE TABLE bookinfo ( " +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"title TEXT, "+
"author TEXT,"+
"pdate TEXT)";
db.execSQL(CREATE_BOOK_TABLE);
}
这里还有一件事,你可以试试看它是否有效 您是否在运行应用程序至少一次后添加了
pdate
字段,该应用程序使用的Create
查询只有id
,标题
,作者
字段?如果是,则必须增加数据库版本号并再次运行应用程序
或者根据@laalto的评论,您必须卸载该应用程序并重新安装。这在开发过程中是正常的:)
即使更改了create查询,在增加数据库版本之前,也不会再次创建数据库
希望这能有所帮助。@EG我不认为空间会产生错误。请访问此“ok teşekkür ederim,sorunuççzdüm(感谢大家,我解决了问题)peki puan verilmeyi hakettim mi:)如果您最近添加了该列,请卸载该应用程序,以便再次运行您的
创建表,使用onupgrade方法只需重新安装应用程序,您就会看到Magic@SimplePlan重新安装不会删除应用程序数据,如数据库。卸载是正确的。@laalto你是对的。
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_BOOK_TABLE = "book";
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + CREATE_BOOK_TABLE + "(id INTEGER PRIMARY KEY AUTOINCREMENT, " +
" title TEXT, "+
" author TEXT, "+
" pdate TEXT) ");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
//if you change somethin you modify this
}
}