2013-01-20 106 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,以便您可以直观地了解数据库的实际外观以及该列是否存在。