Работа с БД |
Здравствуйте, гость ( Вход | Регистрация )
Работа с БД |
gpepsi |
17.1.2012, 21:11
Сообщение
#1
|
Студент Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0 |
После выполнения запроса можно разбирать QSqlQuery или получить QSqlRecord
1. А можно ли не используя модели вставить QSqlRecord 2. Можно ли как после вставки записи получить id записи в БД 3. Можно ли сделать как в QMap, т.е. если нету запи по определенному значению, то вставить с нужными значениями, а остальные поля пусть будут по-умолчанию (что-то вроде INSERT c опциональными полями) |
|
|
zloiia |
18.1.2012, 13:16
Сообщение
#2
|
Студент Группа: Участник Сообщений: 25 Регистрация: 5.5.2011 Пользователь №: 2655 Спасибо сказали: 5 раз(а) Репутация: 0 |
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId
|
|
|
Litkevich Yuriy |
18.1.2012, 13:30
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
2. Можно ли как после вставки записи получить id записи в БД QVariant QSqlQuery::lastInsertId () const |
|
|
zloiia |
18.1.2012, 19:24
Сообщение
#4
|
Студент Группа: Участник Сообщений: 25 Регистрация: 5.5.2011 Пользователь №: 2655 Спасибо сказали: 5 раз(а) Репутация: 0 |
|
|
|
gpepsi |
18.1.2012, 22:03
Сообщение
#5
|
Студент Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: 0 |
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId QVariant QSqlQuery::lastInsertId () const всегда возвращает 0 |
|
|
zloiia |
19.1.2012, 6:50
Сообщение
#6
|
Студент Группа: Участник Сообщений: 25 Регистрация: 5.5.2011 Пользователь №: 2655 Спасибо сказали: 5 раз(а) Репутация: 0 |
На второй вопрос ответ сразу напрашивается http://doc.crossplatform.ru/qt/4.6.x/qsqlq...ml#lastInsertId QVariant QSqlQuery::lastInsertId () const всегда возвращает 0 А в таблице куда вставляется Primary Key точно есть с автоинкриментом? Таблицу в студию |
|
|
Litkevich Yuriy |
19.1.2012, 14:02
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
из описания к методу:
Цитата ... 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 для проверки |
|
|
Текстовая версия | Сейчас: 26.12.2024, 11:54 |