Android使用sqlite创建数据库表——E/SQLiteLog: (1) no such table

当我遇到这个错误的时候尝试了很多解决办法,最终发现自己在这弄错了,莫名的尴尬……

 // 创建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);";

猜你喜欢

转载自blog.csdn.net/sytandxly/article/details/81505157