1 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
更改 :-
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);
}
然后要么:-
刪除應(yīng)用的數(shù)據(jù),或
卸載應(yīng)用程序
,然后重新運(yùn)行該應(yīng)用程序。
解釋
在嘗試插入之前未出現(xiàn)此問(wèn)題的原因是,這將是第一次嘗試打開(kāi)數(shù)據(jù)庫(kù)。實(shí)例化數(shù)據(jù)庫(kù)幫助程序不會(huì)導(dǎo)致創(chuàng)建數(shù)據(jù)庫(kù)(即,正在執(zhí)行 onCreate 方法,onCreate 僅在嘗試打開(kāi)數(shù)據(jù)庫(kù)(隱式插入)并且數(shù)據(jù)庫(kù)實(shí)際上不存在時(shí)才自動(dòng)執(zhí)行)。
應(yīng)該刪除應(yīng)用程序的數(shù)據(jù)(或卸載應(yīng)用程序,這將刪除應(yīng)用程序的數(shù)據(jù))的原因是這將刪除數(shù)據(jù)庫(kù),因此 onCreate 方法將運(yùn)行(當(dāng)數(shù)據(jù)庫(kù)存在時(shí),它不會(huì)運(yùn)行)。
實(shí)際的錯(cuò)誤是因?yàn)镃REATE期望在您的案例中創(chuàng)建的內(nèi)容的類(lèi)型,而您已經(jīng)解析為SQL,因此您試圖告訴它創(chuàng)建一個(gè)CREATE TABLEtb_penyakit并且對(duì)于SQlite來(lái)說(shuō),沒(méi)有CREATE TABLEtb_penyakit這樣的東西。CREATE TABLE table_name
CREATE TABLEtb_penyakit
如果沒(méi)有在上面添加的其他空格,該表將被創(chuàng)建,但列將是:-
然后,插入將失敗,因?yàn)槟谕嬖诘牧袑⒉淮嬖凇?/p>
添加回答
舉報(bào)