Я новичок в qt. Я создал таблицу в sql, и то, что я пытаюсь сделать, это предоставить идентификатор всякий раз, когда пользователь добавляет данные. Для первого вставленного это будет 1, второе 2 и так далее. Итак, как проверить, какой номер был последним? Должен ли я создать query.prepare(sql statement)
или есть другой способ?Id в базе данных с использованием qt
1
A
ответ
2
Метод, который вы ищете, является . Цитирую the documentation:
Возвращает идентификатор объекта последней вставленной строки, если база данных поддерживает его. Неверный QVariant будет возвращен, если в запросе не было вставить какое-либо значение или если база данных не сообщит об обратном. Если более одной строки было затронуто вставкой, то поведение не определено.
Я могу подтвердить, что эта функциональность действительно поддерживается для баз данных SQLite в Qt.
Вы можете преобразовать вариант в базу данных ID, как так:
qint64 insertID = query.lastInsertId().toLongLong();
Большое спасибо :) – prgst