Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с датой [D7, MSSQL]


maxval ©   (2002-12-10 18:20:00) 

Пользователь из интерфейса выбирает период для запроса в SQL.

Query1.ParamByName("D1").AsDate:= DateTimePicker1.Date;
Query1.ParamByName("D2").AsDate := DateTimePicker2.Date;
Query1.ExecSQL;

Сам запрос
declare D1 datetime,
D2 datetime


Select
sum (round((convert(float,cls_timeroundoff)/60),2)) "Son"
from calls
where cls_timeringbegin between :D1 and :D2
and (Cls_RingInitPunct IN ("1857","3267","3282","4485","4486","4545","4566")
and cls_service in("25","32"))

Возникает ошибка - Invalid date format

Заранее спасибо!


Cheshit   (2002-12-13 18:09:00) [1]

1.В BDE Alias нужно Dateformat=1
2.Используй DateOf(Picker.Date) если нужна только дата


Anatoly Podgoretsky   (2002-12-13 16:55:00) [2]

У тебя запрос возвращает набор данных, надо не Query1.ExecSQL а Open


asmith   (2002-12-13 16:52:00) [3]

const
szMSSQLDateFormat = "yyyy-mm-dd ";
var
Value1 : string;
strSQL : string;
...
DateTimeToString(Value, szMSSQLDateFormat, DateTimePicker1.Date);
strSQL := Format("...where cls_timeringbegin between ""%s"" and...", [Value1, ...]);


Prooksius   (2002-12-13 16:10:00) [4]

2 Maxval © (13.12.02 15:53)
А нигде в MSSQL этот формат даты не настраивается? Поищи.


Maxval   (2002-12-13 15:53:00) [5]

Это не проходит.
Мне кажется что это связано с форматом даты в MSSQL.
Там дата представлена как 2002/11/10.


Wolf   (2002-12-13 15:19:00) [6]

Попробуй присваивать
Query1.ParamByName("D1").value:=""""+datetostr(DateTimePicker1.Date)+"""";Это долно пройти


Jdrm   (2002-12-13 12:17:00) [7]

у тебя сейчас в запросе такая картина, например: ...from calls
where cls_timeringbegin between 10.11.2002 and 11.12.2002. а надо чтоб было between "10.11.2002" and "11.12.2002"


maxval   (2002-12-13 11:09:00) [8]

УВАЖАЕМЫЕ ПРПОФИ ПОМОГИТЕ ПОЖАЛУЙСТА!
ПОПАЛ В ТУПИК И НЕЗНАЮ КАК ВЫБРАТЬСЯ!!!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо