Как получить детали вставленной строки из sqlite, android - PullRequest
0 голосов
/ 14 октября 2011

Я создал таблицу (Detail) с двумя столбцами, один столбец (ID) является основным и с автоинкрементом, а другой столбец (EmpName) - тип varchar. При вставке данных в базу данных я только вставляю данные в столбец EmpName, используя следующий код. Но я хочу знать детали этой записи (идентификатор и имя, но я знаю, что только имя и идентификатор создается базой данных). Я могу написать другой оператор выбора и получить последнюю запись курсора после выполнения запроса на вставку, но если перед выполнением операторов выбора будет выполнена другая вставка, моя база данных выдаст мне неверный результат. Как я могу получить детали?

ContentValues initialvalues = new ContentValues();
initialvalues.put("EmpName", "John");
db.insert("Detail", null, initialvalues);// db is database

Приведенный выше код работает нормально для вставки данных в базу данных, но как получить эту информацию?

1 Ответ

0 голосов
/ 14 октября 2011

пожалуйста, API: SQLiteStatement.executeInsert ()

Согласно исходному коду:

/**
     * Execute this SQL statement and return the ID of the row inserted due to this call.
     * The SQL statement should be an INSERT for this to be a useful call.
     *
     * @return the row ID of the last row inserted, if this insert is successful. -1 otherwise.
     *
     * @throws android.database.SQLException If the SQL string is invalid for
     *         some reason
     */
    public long executeInsert() {
        BlockGuard.getThreadPolicy().onWriteToDisk();
        if (!mDatabase.isOpen()) {
            throw new IllegalStateException("database " + mDatabase.getPath() + " already closed");
        }
        long timeStart = SystemClock.uptimeMillis();
        mDatabase.lock();

        acquireReference();
        try {
            native_execute();
            mDatabase.logTimeStat(mSql, timeStart);
            return (mDatabase.lastChangeCount() > 0) ? mDatabase.lastInsertRow() : -1;
        } finally {
            releaseReference();
            mDatabase.unlock();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...