无法将数据插入Sqlite数据库

时间:2018-11-25 17:15:22

标签: java android database sqlite sqliteopenhelper

这是我将数据插入数据库的代码。一切都很好,没有错误。我输入了我应该输入的所有内容。

但是以某种方式我仍然无法插入数据。是什么原因?当我检查数据库时,表cart为空。

public void insertrecord() {
    Bundle bundle = this.getIntent().getExtras();
    long rowId = bundle.getLong("rowId");

    mydb2 = dbhelper.getWritableDatabase();
    myCursor2 = mydb2.query(Dbhelper.CART_NAME, allColumns2, "ID_=" + String.valueOf(rowId), null, null, null, null);

    myCursor.moveToFirst();
    if (!myCursor.isAfterLast()) {
        String cartname = (myCursor.getString(myCursor.getColumnIndex(Dbhelper.COLUMN_TITLE)));
        mydb2.execSQL("insert into cart(id_, cartRecord) VALUES(" + rowId + ", '" + cartname + "');");
    }
}

1 个答案:

答案 0 :(得分:0)

您想做什么?
首先,您找到带有id_ = rowId的行,然后如果该行存在,您要插入具有相同的id_的另一行吗?
表格中的id_ UNIQUE不是吗?
也许您应该做相反的事情,这意味着如果此id_不存在,则插入带有cartname值的新行:

if (myCursor.getCount() == 0) {
    mydb2.execSQL("insert into cart(id_, cartRecord) VALUES(" + rowId + ", '" + cartname + "');");
}