这是我创建表的代码
database.execSQL("CREATE TABLE IF NOT EXISTS RNOTIFICATIONS(Position VARCHAR PRIMARY KEY NOT NULL,message VARCHAR, title VARCHAR, iconof VARCHAR);");
和插入数据功能是
public void insert_new_item(String n_message, String n_title,String n_icon) {
SQLiteDatabase database = this.getWritableDatabase();
String rows= String.valueOf((int)DatabaseUtils.queryNumEntries(database, "RNOTIFICATIONS"));
ContentValues values = new ContentValues();
values.put("Position",rows+1);
values.put("message", n_message);
values.put("title", n_title);
values.put("iconof",n_icon);
database.insert("RNOTIFICATIONS", null, values);
database.close();
}
INPUT:insert_new_item(hi,Instagram, 2)
输出:[{message=1, iconof=Instagram, title=hi}]
预期输出:[{Position=1,message=hi,title=Instagram, iconof=2}]
插入命令正在错误的列中插入值。有谁可以帮忙。请 我已经尝试删除PRIMARY KEY和NOT NULL但仍然会出错。
答案 0 :(得分:-1)
问题在于光标位置错误。这是(0)
map.put("message", cursor.getString(0));
应该是(1)
map.put("message", cursor.getString(1));