биндинг полей в QSqlQuery, для sqlite |
Здравствуйте, гость ( Вход | Регистрация )
биндинг полей в QSqlQuery, для sqlite |
Andrewshkovskii |
8.12.2010, 18:48
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Есть простая табличка parameter_source (id_unit, name, definition). Пытаюсь через QSqlQuery вставить данные в неё :
Исходный запрос
И на выходе получаю : Цитата QMap((":definition", QVariant(QString, "definition") ) ( ":id_unit" , QVariant(QString, "null") ) ( ":name" , QVariant(QString, "name") ) ) "insert into PARAMETER_SOURCE (id_unit, name, definition) VALUES (?, ?, ?);" QSqlError(-1, "Parameter count mismatch", "") Пробовал все 4 способо биндинга значение, все приводит к одному результату. Разве sqlite не поддерживает биндинги? Или я делаю что-то не так? Сообщение отредактировал Andrewshkovskii - 8.12.2010, 18:49 |
|
|
Litkevich Yuriy |
8.12.2010, 20:17
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Andrewshkovskii |
8.12.2010, 20:18
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Т.е. точно так же, как и написан запрос в внешнем файле. |
|
|
Litkevich Yuriy |
8.12.2010, 20:37
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Разве sqlite не поддерживает биндинги? это не важно, если СУБД их не поддерживает, драйвер Qt будет сам их имитироватьне соображу почему он так ругается. Если я правильно понимаю, что там за таблица, т.е. первое поле - числовое. То ругаться должен на QString("null") т.е. не соответствие типов |
|
|
Andrewshkovskii |
8.12.2010, 23:12
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Вообще да, запрос логически не верен, первой поле числовое (это первичный ключ), с автоинкриментом.
Но дело в том, что такой запрос sqlite отрабатывает нормально, без ошибок
Видать qtшный драйвер шалит? Попробовал сделать вот так вот :
А результат все тот же
Видать придется QString.arg использовать.. |
|
|
Andrewshkovskii |
9.12.2010, 2:09
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Бред какой-то.
Вот теперь запрос выглядит так :
В коде :
Результат :
Вот теперь точно ничего не понимаю. такой же запрос отрабатывается через админку для sqlite, а из кода не хочет. Не понимать. База 100% открывается, очередь к базе подключается... |
|
|
Гость_Гость_* |
21.5.2013, 8:53
Сообщение
#7
|
Гости |
|
|
|
lanz |
21.5.2013, 11:29
Сообщение
#8
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Выглядит вроде впорядке, прикладываю минимальный проект, посмотрите может какую нибудь мелочь забыли.
EDIT: ой вей, прошу прощения за гробокопательство, не посмотрел дату. Сообщение отредактировал lanz - 21.5.2013, 11:34
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 1:14 |