Показать сообщение отдельно
Старый 21.10.2010, 19:43   #1
Пользователь
 
Пол:Мужской
Регистрация: 08.10.2005
Адрес: Москва
Сообщений: 32
Репутация: 1
Question QT - неправильный запрос

Создана таблица в базе:
Код:
CREATE TABLE [Date] (
[dateid] INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT,
[date] Date  UNIQUE NOT NULL
)
В таблицу записаны данные (смотрел SQLite Admin)
Код:
dateid	date
1	15.10.2010
2	16.10.2010
3	19.10.2010
4	21.10.2010
Данные записывались из QDateEdit запросом:
Код:
query.prepare("INSERT INTO Date(date) VALUES(?)");
query.addBindValue(ui->dtAdd->date());
if(!query.exec()) {
   QMessageBox::warning(this, "Error", "Unable to insert date");
}
При записи данных из формы я проверяю, записана ли выбранная дата (в моем случае 21.10.2010) из QDateEdit в базу:
Код:
QSqlQuery query;
query.prepare("SELECT date FROM Date WHERE date = VALUES(?)");
query.addBindValue(ui->dtAdd->date());
if(!query.exec()) {
   qDebug() << query.lastError().text();
    return;
}
Получаю сообщение: "Parameter count mismatch".
Хотелось бы получить ответы на следующие вопросы:
1. Как можно посмотреть полный текст запроса (после addBindValue). Я поставил точку останова до if(!query.exec()), но выделить текст запроса не смог.
2. Почему мой запрос с проверкой даты выполняется неправильно и как правильно написать запрос, в котором в качестве параметра используется значение QDateEdit?
Не нашел возможности на форуме внедрить свой проект, разместил его на http://zalil.ru/29849040.
tumanovalex вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02390 секунды с 10 запросами