После выполнения запроса можно разбирать QSqlQuery или получить QSqlRecord
1. А можно ли не используя модели вставить QSqlRecord
2. Можно ли как после вставки записи получить id записи в БД
3. Можно ли сделать как в QMap, т.е. если нету запи по определенному значению, то вставить с нужными значениями, а остальные поля пусть будут по-умолчанию
(что-то вроде INSERT c опциональными полями)
Litkevich Yuriy
18.1.2012, 13:30
Цитата(gpepsi @ 17.1.2012, 23:11)
2. Можно ли как после вставки записи получить id записи в БД
QVariant QSqlQuery::lastInsertId () const
Цитата(gpepsi @ 17.1.2012, 22:11)
1. А можно ли не используя модели вставить QSqlRecord
а вот тут что-то непонятно. куда вставить?
Цитата(zloiia @ 18.1.2012, 14:16)
Цитата(Litkevich Yuriy @ 18.1.2012, 14:30)
QVariant QSqlQuery::lastInsertId () const
всегда возвращает 0
Цитата(gpepsi @ 18.1.2012, 23:03)
Цитата(zloiia @ 18.1.2012, 14:16)
Цитата(Litkevich Yuriy @ 18.1.2012, 14:30)
QVariant QSqlQuery::lastInsertId () const
всегда возвращает 0
А в таблице куда вставляется Primary Key точно есть с автоинкриментом?
Таблицу в студию
Litkevich Yuriy
19.1.2012, 14:02
из описания к методу:
Цитата
... 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 для проверки