当我遇到这个错误的时候尝试了很多解决办法,最终发现自己在这弄错了,莫名的尴尬……
// 创建Timer表
private static final String DB_CREATE_TABLE_NOTE = "CREATE TABLE "
+ DB_TABLE_NOTE + "(" + NotesColumns._ID
+ " INTEGER PRIMARY KEY ," + NotesColumns.DATE + " INTEGER,"
+ NotesColumns.TITLE + " VARCHAR(100)," + NotesColumns.CONTENT
+ " VARCHAR(200)," + NotesColumns.STORY + "INTEGER);";
以上就是我创建表的相关代码,哈哈,大神肯定一眼就看出来错在哪,粗心的我放了一个小漏洞,导致出现E/SQLiteLog: (1) no such table 异常,那么如何解决这个报错呢?
那就得普及一下创建表的细节要求了:0 - '
必须为"
1 - 列名称与其数据类型需要空格。
2 - 表名必须分开。
3 - 列定义之间使用逗号。
而我就是在在最后一个列,列名称与数据类型之间少了一个空格。。。下次我一定记住
正确代码如下:
// 创建Timer表
private static final String DB_CREATE_TABLE_NOTE = "CREATE TABLE "
+ DB_TABLE_NOTE + "(" + NotesColumns._ID
+ " INTEGER PRIMARY KEY ," + NotesColumns.DATE + " INTEGER,"
+ NotesColumns.TITLE + " VARCHAR(100)," + NotesColumns.CONTENT
+ " VARCHAR(200)," + NotesColumns.STORY + " INTEGER);";