插入错误到数据库表中

时间:2013-01-20 23:45:32

标签: java android

我真的很难将一些插入时间和日期的问题排序到我的数据库中的表格中,而这些表格似乎很难过!。

我问了一个关于'没有这样的表'问题的问题,但没有得到一个解决这个问题和情况已经改变的答案。

真的希望有人可以帮助我,因为我无法前进直到我解决这个问题。

编辑:

在创建表之前,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);

    }

1 个答案:

答案 0 :(得分:0)

您是否看到如何将数据类型设置为“TEXT NOT NULL”?尝试将“app_time”列更改为“TEXT”,并增加数据库版本。此外,尝试下载SQLite Viewer,以便您可以直观地了解数据库的实际外观以及列是否存在。