Android SQLite不存在这样的表

Android SQLite不存在这样的表,android,sqlite,Android,Sqlite,我有一个应用程序,它在同一个数据库中使用两个表。我在助手类中创建并预先填充这些表,如下所示 public void onCreate(SQLiteDatabase db) { String sql = "CREATE TABLE [weekmenu] ([weekmenuID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, [receptenLijst] VARCHAR(50) NOT NULL )"; db.ex

我有一个应用程序,它在同一个数据库中使用两个表。我在助手类中创建并预先填充这些表,如下所示

public void onCreate(SQLiteDatabase db) {

    String sql = "CREATE  TABLE [weekmenu] ([weekmenuID] INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE, [receptenLijst] VARCHAR(50) NOT NULL )";
    db.execSQL(sql);

    sql = "INSERT INTO weekmenu (receptenLijst) values('0')"; db.execSQL(sql);


    sql = "CREATE  TABLE [recepten] ([receptID] INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL  UNIQUE, [receptNaam] TEXT NOT NULL  UNIQUE, [receptURL] TEXT )";
    db.execSQL(sql);

    sql = "INSERT INTO recepten (receptNaam, receptURL) values('Macaroni met spek en broccoli', 'http://www.kooknet.be/recepten/hoofdgerecht/macaroni-met-spek-en-broccoli')"; db.execSQL(sql);
    sql = "INSERT INTO recepten (receptNaam, receptURL) values('Broccolipuree met spekblokjes en fishsticks', 'http://www.kooknet.be/recepten/hoofdgerecht/broccolipuree-met-spekblokjes-en-fishsticks')"; db.execSQL(sql);
    sql = "INSERT INTO recepten (receptNaam, receptURL) values('Hoeveomelet', 'http://www.kooknet.be/recepten/hoofdgerecht/hoeveomelet')"; db.execSQL(sql);
    sql = "INSERT INTO recepten (receptNaam, receptURL) values('Gevulde courgettes', 'http://www.kooknet.be/recepten/hoofdgerecht/gevulde-courgettes')"; db.execSQL(sql);   

}
在另一个活动中,我想确保用户在按下按钮时可以更新表weekmenu。每次用户点击按钮时,都应覆盖weekmenu中的相同记录(通过更新表格)

不幸的是,活动停止了,在调试模式下,我得到消息“weekmenu:不存在这样的表”

有人能帮我吗?我已经读了很多关于Stackoverflow的帖子,但是没有一个能帮到我

谢谢

你的罪魁祸首在这里:

SQLiteDatabase db = oData.getReadableDatabase();
你需要一个可写的数据库。不是可读的

将其更改为:

QLiteDatabase db = oData.getWritableDatabase();

为什么表名和列名周围有[]符号?@njzk2在这种情况下不是必需的(),也不是标准的SQL。确切地说,
这不是标准的SQL
。应使用双引号。但在读取recepten表时不会导致任何错误。我只在写入weekmenu表时出错。
QLiteDatabase db = oData.getWritableDatabase();