Проблема с подстановкой в запрос SELECT даты (MS SQL). |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с подстановкой в запрос SELECT даты (MS SQL). |
silver47 |
12.4.2010, 5:24
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Доброго времени суток, с толкнулся со следующей проблемой, при выполнении запроса, необходимо учитывать границы дат, в последствии нужно будет добавлять записи с нужной датой, думаю там будет то же самое .
при выполнении запроса: QODBCResult::exec: unable to bind variable: " [Microsoft][ODBC SQL Server Driver]Дополнительная возможность не реализована" |
|
|
molchanoviv |
12.4.2010, 8:19
Сообщение
#2
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Из ассистента:
Цитата Oracle databases identify placeholders by using a colon-name syntax, e.g :name. ODBC simply uses ? characters. Qt supports both syntaxes, with the restriction that you can't mix them in the same query. Попробуй перестроить запрос на использование "запроса без параметров". |
|
|
silver47 |
12.4.2010, 8:26
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Из ассистента: Цитата Oracle databases identify placeholders by using a colon-name syntax, e.g :name. ODBC simply uses ? characters. Qt supports both syntaxes, with the restriction that you can't mix them in the same query. Попробуй перестроить запрос на использование запроса без параметров. У меня не оракл, а Microsoft SQL Server 2005. Как перестроить? конвертить дату в текст? |
|
|
Litkevich Yuriy |
12.4.2010, 8:39
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
У меня не оракл, а Microsoft SQL Server 2005. тебе цитату привели не спроста, прочитай её всюКак перестроить? конвертить дату в текст? попробуй для начала заменить подстоновочные значения конкретными данными, и закоментируй bindValueПросто, чтобы проверить сам запрос. Если всё в порядке, то используй вопросики (позиционную подстановку) вообще я думаю, что дата должна в каком-то конкретном виде в запрос подставлятся. Например как строка. А у тебя она напрямую помещается. Может быть нужно что-то вроде этого:
|
|
|
molchanoviv |
12.4.2010, 8:43
Сообщение
#5
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
|
|
|
silver47 |
12.4.2010, 10:55
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
попробуй для начала заменить подстоновочные значения конкретными данными, и закоментируй bindValue
Просто, чтобы проверить сам запрос. попробовал, запрос верный. Позиционнная подстановка:
Ошибка при компиляции widget.cpp:343: error: no matching function for call to 'QSqlQuery::bindValue(QDate)' Зачем создаю промежуточную строку с текстом запроса? Запрос динамический, начало у него одинаковое, а вот WHERE меняются там на условиях. Ну чтож, если не получиться с позиционной, никто не помешает мне непосредственно в текст запроса втыкать дату, хотя и не красиво и коряво будет |
|
|
molchanoviv |
12.4.2010, 11:01
Сообщение
#7
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Оно так и не должно собираться. Либо используй
либо
Я использую второй вариант. |
|
|
silver47 |
12.4.2010, 11:28
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
QODBCResult::exec: unable to bind variable: " [Microsoft][ODBC SQL Server Driver]Дополнительная возможность не реализована"
QODBCResult::exec: unable to bind variable: " [Microsoft][ODBC SQL Server Driver]Дополнительная возможность не реализована" Ну в общем понятно, спасибо, буду в текст самого запроса вставлять строку с текстом, содержащую дату. Не красиво, зато работает |
|
|
Litkevich Yuriy |
12.4.2010, 13:34
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Ay49Mihas |
17.6.2010, 5:59
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 17.6.2010 Пользователь №: 1814 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я делаю так в таких же условиях:
|
|
|
Текстовая версия | Сейчас: 3.12.2024, 15:11 |