0

我真的很难对一些将时间和日期插入到我的数据库中的表中的问题进行排序,这些问题似乎存在!

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

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

编辑:

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);

    }
4

1 回答 1

0

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

于 2013-01-21T00:18:51.820 回答