Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с БД
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
gpepsi
После выполнения запроса можно разбирать QSqlQuery или получить QSqlRecord

1. А можно ли не используя модели вставить QSqlRecord
2. Можно ли как после вставки записи получить id записи в БД
3. Можно ли сделать как в QMap, т.е. если нету запи по определенному значению, то вставить с нужными значениями, а остальные поля пусть будут по-умолчанию
(что-то вроде INSERT c опциональными полями)
zloiia
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId
Litkevich Yuriy
Цитата(gpepsi @ 17.1.2012, 23:11) *
2. Можно ли как после вставки записи получить id записи в БД
QVariant QSqlQuery::lastInsertId () const
zloiia
Цитата(gpepsi @ 17.1.2012, 22:11) *
1. А можно ли не используя модели вставить QSqlRecord


а вот тут что-то непонятно. куда вставить?
gpepsi
Цитата(zloiia @ 18.1.2012, 14:16) *
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId

Цитата(Litkevich Yuriy @ 18.1.2012, 14:30) *
QVariant QSqlQuery::lastInsertId () const


всегда возвращает 0 :(
zloiia
Цитата(gpepsi @ 18.1.2012, 23:03) *
Цитата(zloiia @ 18.1.2012, 14:16) *
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId

Цитата(Litkevich Yuriy @ 18.1.2012, 14:30) *
QVariant QSqlQuery::lastInsertId () const


всегда возвращает 0 :(


А в таблице куда вставляется Primary Key точно есть с автоинкриментом? :rolleyes: Таблицу в студию
Litkevich Yuriy
из описания к методу:
Цитата
... An invalid QVariant will be returned if the query did not insert any value or if the database does not report the id back.

используй
bool QSqlDriver::hasFeature ( DriverFeature feature ) const [pure virtual]
с аргументом QSqlDriver::LastInsertId для проверки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.