1 回答
TA贡献1788条经验 获得超4个赞
更改 :-
public void onCreate(SQLiteDatabase db){
String CREATE_TABLE = "CREATE TABLE" + TABLE_CONTACTS + "(" + nomber +
"INTEGER PRIMARYKEY," + namapen + "TEXT," + idPen + "INTEGER,"
+ namaGej + "TEXT," + idGej + "TEXT )";
db.execSQL(CREATE_TABLE);
}
自
public void onCreate(SQLiteDatabase db){
String CREATE_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + nomber +
" INTEGER PRIMARY KEY," + namapen + " TEXT," + idPen + " INTEGER,"
+ namaGej + " TEXT," + idGej + " TEXT )";
db.execSQL(CREATE_TABLE);
}
然后要么:-
删除应用的数据,或
卸载应用程序
,然后重新运行该应用程序。
解释
在尝试插入之前未出现此问题的原因是,这将是第一次尝试打开数据库。实例化数据库帮助程序不会导致创建数据库(即,正在执行 onCreate 方法,onCreate 仅在尝试打开数据库(隐式插入)并且数据库实际上不存在时才自动执行)。
应该删除应用程序的数据(或卸载应用程序,这将删除应用程序的数据)的原因是这将删除数据库,因此 onCreate 方法将运行(当数据库存在时,它不会运行)。
实际的错误是因为CREATE期望在您的案例中创建的内容的类型,而您已经解析为SQL,因此您试图告诉它创建一个CREATE TABLEtb_penyakit并且对于SQlite来说,没有CREATE TABLEtb_penyakit这样的东西。CREATE TABLE table_name
CREATE TABLEtb_penyakit
如果没有在上面添加的其他空格,该表将被创建,但列将是:-
然后,插入将失败,因为您期望存在的列将不存在。
添加回答
举报