Не могу вставить данные в базу данных Sqlite - PullRequest
0 голосов
/ 25 ноября 2018

Это код для меня, чтобы вставить данные в базу данных.Все хорошо без ошибок.Я набрал все, что мне нужно, якобы.

Но я все равно не могу вставить данные.Какова причина?Когда я проверяю базу данных, таблица 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 голосов
/ 25 ноября 2018

Что вы пытаетесь сделать?Сначала вы находите строку с id_ = rowId, а затем, если эта строка существует, вы хотите вставить другую строку с таким же id_?Разве это не id_ UNIQUE в таблице?Возможно, вам следует поступить наоборот, то есть, если этого id_ не существует, вставьте новую строку с некоторым значением для cartname:

if (myCursor.getCount() == 0) {
    mydb2.execSQL("insert into cart(id_, cartRecord) VALUES(" + rowId + ", '" + cartname + "');");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...