Вниз
Скачать: CL | DM;

Формат даты в запросах   Найти похожие ветки 

 
Oleg M   (2003-04-27 00:29) [0]

SQL Server 2000 (ADO), Delphi 6.

Как правильно вставлять дату в текст запроса ADOQuery?

Делаю так: "WHERE Date = """+ DateToStr(MyDateVar) +""""
при этом возникают проблемы (ругается сервер) с форматом даты. На разных серверах разные региональные настройки и приходится использовать ручное задание формата даты, свое для каждого сервера.

А как правильно?
Есть ли универсальный формат, понимаемый SQL сервером назвисимо от региональных настроек?
Можно ли запросить у сервера текущий формат или перезадать его на время выполнения запроса?


PS Пока приходится извращаться помещая обычные запросы в StoredProc и передавая даты через параметры.


 
Dok_3D ©   (2003-04-27 00:55) [1]

Правильно использовать запрос с параметрами.

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add("SELECT ... FROM ... Where dtDate=:Date");
ADOQuery.Parameters.ParamByName("Date").DataType:=ftDateTime;
ADOQuery.Parameters.ParamByName("Date").DataType:=Now();
ADOQuery.Open;


 
wicked ©   (2003-04-27 03:15) [2]


> А как правильно?
> Есть ли универсальный формат, понимаемый SQL сервером назвисимо
> от региональных настроек?

есть - "yyyy-mm-dd" или "yyyymmdd"....


 
АлексейК   (2003-04-28 04:34) [3]

>Делаю так: "WHERE Date = """+ DateToStr(MyDateVar) +""""
А лучше так "WHERE Date = """+ FormatDateTime("yyyy.mm.dd",MyDateVar) +""""



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-59550
dtm
2003-04-25 13:49
2003.05.19
Переход из DBGrid по клавише


1-59682
odrik
2003-05-05 16:57
2003.05.19
поиск


1-59705
Валерий
2003-05-05 14:12
2003.05.19
TAction в SDI-приложении


3-59559
Дучф
2003-04-26 09:25
2003.05.19
Не отображаются даннные в DBLookupListBox


7-59953
me2
2003-03-21 11:36
2003.05.19
Программное определение размеров диска




   Наверх