параметр даты в запросе к sql

1. Manticor 66 30.11.11 17:14 Сейчас в теме
есть такой запрос

ЗапросSQL="
|Select
|number, discount_size as Size
|from [discount].[dbo].[cards], [discount].[dbo].[cards_discount] WHERE number='"+ДискКарта+"' and Ref1c82=code_1c82
|and date_start <= CONVERT(DATETIME, '"+Формат(Дата(Дата),"ДЛФ=yyyy.MM.dd")+"', 102) and (date_end >= CONVERT(DATETIME, '"+Формат(Дата(Дата),"ДЛФ=yyyy.MM.dd")+"', 102) or date_end IS NULL)";

пишет Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Conversion failed when converting datetime from character string.
Рез=ЗапросКарт.Execute();
Пробовал без CONVERT(DATETIME) = ругается. Тип дата что в ф-ии Дата берется из стандартной даты документа. Вроде преобразую в дату- а конвертиттся как строка??
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. cool.vlad4 2 30.11.11 17:34 Сейчас в теме
(1) неправильно передаешь формат, http://linesofcode.net/snippets/45
или используй parameters если ado
6. dr.zl0 14 30.11.11 18:03 Сейчас в теме
(1) manticor, попробуй так
date_start <= '"+Формат(Дата,"ДФ=yyyyMMdd")+"'
2. Quick_Loader 30.11.11 17:28 Сейчас в теме
Используй в тексте запроса в самом начале
SET DATEFORMAT ymd;
5. Manticor 66 30.11.11 17:55 Сейчас в теме
(2) Quick_Loader,

ЗапросSQL="
|SET DATEFORMAT ymd
|Select
|number, discount_size as Size
|from [discount].[dbo].[cards], [discount].[dbo].[cards_discount] WHERE number='"+ДискКарта+"' and Ref1c82=code_1c82
|and date_start <= CONVERT(DATETIME, '"+Формат(Дата(Дата),"ДЛФ=yyyy.MM.dd")+"', 20) and (date_end >= CONVERT(DATETIME, '"+Формат(Дата(Дата),"ДЛФ=yyyy.MM.dd")+"', 20) or date_end IS NULL)";

применил формат - все также((
7. cool.vlad4 2 30.11.11 18:03 Сейчас в теме
(5) я тебе уже все ответил...
4. cool.vlad4 2 30.11.11 17:42 Сейчас в теме
Формат "ДФ=yyyy-MM-dd" и 104 подходит, но лучше все таки использовать нормальные параметры(если ado)
8. cool.vlad4 2 30.11.11 18:03 Сейчас в теме
9. Quick_Loader 30.11.11 18:11 Сейчас в теме
10. Manticor 66 01.12.11 12:21 Сейчас в теме
(9) Quick_Loader,
напиши как в дате время прописывать в запросе
11. cool.vlad4 2 01.12.11 12:34 Сейчас в теме
(10) тебе уже кто только не говорил про формат, повторюсь ТвойЗапрос+Формат(Дата(Дата),"ДФ=yyyy-MM-dd")+"',104)
12. Manticor 66 01.12.11 14:21 Сейчас в теме
всем спасибо, заработало

ЗапросSQL="
|SET DATEFORMAT ymd
|Select
|number, discount_size as Size
|from [discount].[dbo].[cards], [discount].[dbo].[cards_discount] WHERE number='"+ДискКарта+"' and Ref1c82=code_1c82
|and date_start <= CONVERT(DATETIME, '"+Формат(Дата(Дата),"ДФ=yyyy-MM-dd")+"',102) and (date_end >= CONVERT(DATETIME, '" + Формат(Дата(Дата),"ДФ=yyyy-MM-dd")+"',102) or date_end IS NULL)";

так мы можем передавть дату документа в запрос SQL
13. cool.vlad4 2 01.12.11 14:23 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот