zoukankan      html  css  js  c++  java
  • [O] SQLite数据库报错:no such column

    在SQLite数据库创建语句增加列,运行后报错:no such column

    在语法规范的前提下,即

    //SQLite数据库创建,逗号与空格须严格
    String CREATE_NOTE = "create table "
    			+ NotepadEntity.TABLE_NOTE
    			+ " (" + NotepadEntity.NOTE_ID + " integer primary key autoincrement,"
    			+ NotepadEntity.NOTE_TITLE + " varchar not null," //此列为修改语句后增加
    			+ NotepadEntity.NOTE_CONTENT + " text not null,"
    			+ NotepadEntity.NOTE_CREATE_DATE + " text);";
    
    SQLiteDatabase db;
    db.execSQL(CREATE_NOTE);
    

     仍无法编译通过,其原因是SQLite创建命令执行过一次,数据库文件已存在,即使语句有变更,也没有再执行。

    解决办法:

    打开DDMS工具找到“File  Explorer”,定位到项目文件里的数据库文件列表(展开到/data/data/<package name>/databases)

    (可将数据库文件导出电脑,用SQLite Database Browser等工具查看是否有列数据未创建)

    删除该数据库文件及其journal文件,返回工程再次运行,程序检测到数据库为空,则执行创建命令,编译通过。

    此时再导出DDMS下的数据库文件,查看列表结构,新增列创建成功,问题解决。

  • 相关阅读:
    python基础知识第三篇(列表)
    python基础知识第二篇(字符串)
    python基础知识第一篇(认识Python)
    tomacat环境搭建
    Python的内存管理机制
    selenium定位方法
    python+selenium xpath定位
    django--创建及配置项目app
    django--cookies和session
    django--orm--012
  • 原文地址:https://www.cnblogs.com/misybing/p/4927302.html
Copyright © 2011-2022 走看看