2013-01-20 109 views
0

我真的很費力地排除一些問題,插入時間和日期到我的數據庫中的一個表中,似乎excon!!插入數據庫表中的錯誤

我問了一個關於'沒有這樣的表'問題的問題,但沒有得到一個解決這個問題並且情況已經改變的答案。

真的希望有人能幫助我,因爲我不能前進,直到我解決這個問題。

編輯:

logcat顯示即時嘗試插入之前創建表?

繼承人我logcat的錯誤:

01-20 23:38:24.128: E/Database(287): Error inserting app_time=00114200T000000Europe/Dublin(0,0,0,-1,0) app_alarm=false app_date=2013-01-24 app_name=gggg app_comments=a app_type=Business 
01-20 23:38:24.128: E/Database(287): android.database.sqlite.SQLiteException: no such table: appointmentsTable: , while compiling: INSERT INTO appointmentsTable(app_time, app_alarm, app_date, app_name, app_comments, app_type) VALUES(?, ?, ?, ?, ?, ?); 

難道不能插入,因爲沒有表這個數據的情況?我不知道爲什麼我不能創建一個表。我也困惑爲什麼傳遞的值是'?'

再次這裏是我的onCreate方法:

@Override 
    public void onCreate(SQLiteDatabase db) { 


     db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + 
       KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       KEY_NAME + " TEXT NOT NULL, " + 
       KEY_TEL + " TEXT NOT NULL, " + 
       KEY_EMAIL + " TEXT NOT NULL, " + 
       KEY_COMMENTS + " TEXT NOT NULL);" 

       ); 

     db.execSQL("CREATE TABLE " + DATABASE_TABLEAPP + " (" + 
       KEY_ROWAPPID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       KEY_NAMEAPP + " TEXT NOT NULL, " + 
       KEY_TYPEAPP + " TEXT NOT NULL, " + 
       KEY_TIMEAPP + " TEXT NOT NULL, " + 
       KEY_DATEAPP + " TEXT NOT NULL, " + 
       KEY_COMMENTAPP + " TEXT NOT NULL, " + 
       KEY_ALARM + " BOOLEAN NOT NULL);" 

       );  
    } 

我的插入方法:

public void createAppointmentEntry(String nameApp, String typeApp, Time timeApp, Date dateApp ,String commentApp, Boolean onOrOff) { 



     ContentValues cv = new ContentValues(); 
     cv.put(KEY_NAMEAPP, nameApp); 
     cv.put(KEY_TYPEAPP, typeApp); 
     cv.put(KEY_TIMEAPP, timeApp.toString()); 
     cv.put(KEY_DATEAPP, dateApp.toString()); 
     cv.put(KEY_COMMENTAPP, commentApp); 
     cv.put(KEY_ALARM, onOrOff); 
     ourDatabase.insert(DATABASE_TABLEAPP, null, cv); 

    } 

回答

0

你看看你有你的數據類型爲 「TEXT NOT NULL」?嘗試將「app_time」列更改爲「TEXT」,並增加數據庫版本。另外,請嘗試下載SQLite Viewer,以便您可以直觀地瞭解數據庫的實際外觀以及該列是否存在。