Java 在数据库表中插入错误
我真的很难对一些问题进行排序,将时间和日期插入到我数据库中的一个表中,这似乎令人兴奋 我问了一个关于“没有这样的桌子”的问题,但没有得到一个解决这个问题的答案,情况已经改变了 真的希望有人能帮助我,因为在我解决这个问题之前,我无法前进 编辑: 在创建表之前,logcat是否显示我正在尝试插入 以下是我的Logcat错误:Java 在数据库表中插入错误,java,android,Java,Android,我真的很难对一些问题进行排序,将时间和日期插入到我数据库中的一个表中,这似乎令人兴奋 我问了一个关于“没有这样的桌子”的问题,但没有得到一个解决这个问题的答案,情况已经改变了 真的希望有人能帮助我,因为在我解决这个问题之前,我无法前进 编辑: 在创建表之前,logcat是否显示我正在尝试插入 以下是我的Logcat错误: 01-20 23:38:24.128: E/Database(287): Error inserting app_time=00114200T000000Europe/Dubl
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);
}
您看到如何将数据类型设置为“TEXT NOT NULL”了吗?尝试将“应用程序时间”列更改为“文本”,并增加数据库版本。此外,请尝试下载SQLite Viewer,这样您就可以直观地了解数据库的实际外观以及该列是否存在