2015-06-14 2 views
1

Я новичок в qt. Я создал таблицу в sql, и то, что я пытаюсь сделать, это предоставить идентификатор всякий раз, когда пользователь добавляет данные. Для первого вставленного это будет 1, второе 2 и так далее. Итак, как проверить, какой номер был последним? Должен ли я создать query.prepare(sql statement) или есть другой способ?Id в базе данных с использованием qt

ответ

2

Метод, который вы ищете, является . Цитирую the documentation:

Возвращает идентификатор объекта последней вставленной строки, если база данных поддерживает его. Неверный QVariant будет возвращен, если в запросе не было вставить какое-либо значение или если база данных не сообщит об обратном. Если более одной строки было затронуто вставкой, то поведение не определено.

Я могу подтвердить, что эта функциональность действительно поддерживается для баз данных SQLite в Qt.

Вы можете преобразовать вариант в базу данных ID, как так:

qint64 insertID = query.lastInsertId().toLongLong(); 
+2

Большое спасибо :) – prgst