Неправильный запрос к SQLite |
Здравствуйте, гость ( Вход | Регистрация )
Неправильный запрос к SQLite |
tumanovalex |
24.10.2010, 21:59
Сообщение
#1
|
Студент Группа: Участник Сообщений: 24 Регистрация: 6.8.2008 Пользователь №: 253 Спасибо сказали: 0 раз(а) Репутация: 0 |
Создана таблица в базе:
В таблицу записаны данные (смотрел SQLite Admin)
Данные записывались из QDateEdit запросом:
При записи данных из формы я проверяю, записана ли выбранная дата (в моем случае 21.10.2010) из QDateEdit в базу:
Получаю сообщение: "Parameter count mismatch". Хотелось бы получить ответы на следующие вопросы: 1. Как можно посмотреть полный текст запроса (после addBindValue). Я поставил точку останова до if(!query.exec()), но выделить текст запроса не смог. 2. Почему мой запрос с проверкой даты выполняется неправильно и как правильно написать запрос, в котором в качестве параметра используется значение QDateEdit? Не нашел возможности на форуме внедрить свой проект, разместил его на http://zalil.ru/29849040.
Прикрепленные файлы
|
|
|
Litkevich Yuriy |
25.10.2010, 2:59
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
1. Как можно посмотреть полный текст запроса (после addBindValue) если СУБД сама поддерживает подстановку, то никак. Если не поддерживает, то поможет метод QString QSqlQuery::executedQuery () constSELECT date FROM Date WHERE date = VALUES(?) этого ключевого слова в SELECT'е быть не должноСправка |
|
|
tumanovalex |
25.10.2010, 7:35
Сообщение
#3
|
Студент Группа: Участник Сообщений: 24 Регистрация: 6.8.2008 Пользователь №: 253 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо за ответ. Передел:
Получаю сообщение: false QSqlQuery::value: not positioned on a valid record QVariant(, ) Прикрепляю новый вариант проекта
Прикрепленные файлы
|
|
|
Litkevich Yuriy |
25.10.2010, 9:38
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
tumanovalex |
25.10.2010, 22:18
Сообщение
#5
|
Студент Группа: Участник Сообщений: 24 Регистрация: 6.8.2008 Пользователь №: 253 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. Так тоже не получилось:
получаю окно сообщения, а qDebug() выдает: QSqlQuery::exec: empty query QSqlError(-1, "", "") 2. Запрос SELECT date FROM Date WHERE date = '2010-10-21' проверял в SQLite Admin, запрос выполнился правильно. |
|
|
ufna |
25.10.2010, 22:36
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
добавь ' ' к ?, т.к. счас у тебя идет без апострофов запрос
|
|
|
Текстовая версия | Сейчас: 15.10.2024, 20:58 |