表没有名为error的列

时间:2014-03-21 07:08:33

标签: android sqlite android-sqlite

我使用这些代码但是我收到了错误,因为表格信息没有列名为pdate" 数据库类的方法

public void onCreate(SQLiteDatabase db) {       
// TODO Auto-generated method stub      
String CREATE_BOOK_TABLE = "CREATE TABLE bookinfo ( " +
                "id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                "title TEXT, "+
                "author TEXT,"+
                 "pdate TEXT)";         
     db.execSQL(CREATE_BOOK_TABLE);     
}

2 个答案:

答案 0 :(得分:1)

您可以尝试另外一件事,看看它是否有效。

pdate查询仅包含Createidtitle字段后,您是否在运行应用后至少添加了author字段?如果是,那么您必须增加数据库版本号并再次运行该应用程序。

或者根据 @laalto 的评论,您必须卸载该应用并重新安装。这在开发过程中是正常的事情:)

即使您更改了创建查询,也不会再次创建数据库,直到您更改数据库版本。

希望这有帮助。

答案 1 :(得分:0)

public class DatabaseHelper extends SQLiteOpenHelper {

    public static final String CREATE_BOOK_TABLE = "book";

    public DatabaseHelper(Context context) {
        super(context, DB_NAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + CREATE_BOOK_TABLE + "(id INTEGER PRIMARY KEY   AUTOINCREMENT, " + 
                " title TEXT,  "+
                " author TEXT, "+
                " pdate TEXT) ");  

    }

    @Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
       //if you change somethin you modify this
    }
}