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

SQL запрос к полю даты   Найти похожие ветки 

 
Popov Oleg   (2005-01-19 08:01) [0]

Уважаемые Мастера ! Есть таблица с одним полем формата Date.
как с помошью запроса выбрать данные только за указанный месяц и год если в поле дата указана полностью ? (F.e. 10.01.2005).
Если соединять из двух TextEdit естественно ругается на ошибку
типов....:
"SELECT * from Zak WHERE MesGod like "" + M.Text + "." + Y.Text + """


 
sniknik ©   (2005-01-19 08:16) [1]

во порвых параметры, делай через них, во вторых период задавай а не сравнение, с началом и концом месяца, это быстрее перебора (что у тебя).

"SELECT * from Zak WHERE MesGod BETWEEN :DatBeg AND :DatEnd"


 
Leshiy ©   (2005-01-19 08:19) [2]

extract(Month from MesGod)
extract(Year from MesGod)


 
sniknik ©   (2005-01-19 08:27) [3]

Leshiy ©   (19.01.05 08:19) [2]
при использовании будет тот же перебор, индекс (если есть) зря создавали...


 
Popov Oleg   (2005-01-19 09:34) [4]

Подскажите в чем ошибка
"SELECT * from Zak WHERE (MesGod BETWEEN " + DT1.Text + " AND " + DT2.Text + ")"

DT1.Tex, DT2.Text - это TDataEdit компонент


 
Yurij-7   (2005-01-19 10:33) [5]

Я думаю что значения даты с TDataEdit передавать в запрос надо через параметры.


 
sniknik ©   (2005-01-19 10:59) [6]

ошибка в том что ты путаеш типы, дату со строкой, параметр и параметр только типа дата енадо использовать.


 
msguns ©   (2005-01-19 11:23) [7]

>Popov Oleg   (19.01.05 09:34) [4]

with Query do
 try
  SQL.Text := "SELECT * from Zak WHERE (MesGod BETWEEN :d1  AND :d2"
  ParamByName("d1").Clear;
  ParamByName("d2").Clear;
  if StrToDateDef(DT1.Text,0)>0 then
     ParamByName("d1").AsDate := StrToDate(DT1.Text);
  if StrToDateDef(DT2.Text,0)>0 then
     ParamByName("d2").AsDate := StrToDate(DT2.Text);
  Open;
 except
  ShowMessage("Ошибка запроса");
  exit;
 end;


 
Max Zyuzin ©   (2005-01-19 11:29) [8]

>Popov Oleg   (19.01.05 09:34)
К совету msguns ©   (19.01.05 11:23) [7] добавлю, что для удобства я обычно всегда использую для ввода даты и время DateTimePicker - это и симпатичнее выглядит, а так же не надо думать какой формат даты и время стоит на компьютере пользователя, вот.



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

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



Память: 0.46 MB
Время: 0.023 c
14-1106895441
MBo
2005-01-28 09:57
2005.02.20
Пятничные задачки. ;)


4-1104130031
KostR
2004-12-27 09:47
2005.02.20
Как при помощи Delphi передать данные с микроконторллера на ЭВМ


1-1107815090
GanibalLector
2005-02-08 01:24
2005.02.20
Денежные столбец в TStrinGrid


14-1106747384
KSergey
2005-01-26 16:49
2005.02.20
О профессионализме программиста


9-1099952680
Кто---то
2004-11-09 01:24
2005.02.20
Как в гонках управляются вражеские машины ?




   Наверх