Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизЗапрос WHERE и дата. Пишу типа WHERE Date = Найти похожие ветки
← →
nv-vetal (2003-01-16 13:30) [0]а в ответ несоответствие типов данных!
← →
Наталия (2003-01-16 13:36) [1]Используй параметры или date="#12/01/2003#"
← →
nv-vetal (2003-01-16 13:39) [2]Спасибо! Сейчас попробую!
← →
nv-vetal (2003-01-16 13:42) [3]Не работает! ПИшет тоже самое!
← →
gsu (2003-01-16 13:43) [4]используй DateSeparator
← →
Delirium^.Tremens (2003-01-16 13:43) [5]ALL>>
:-) А что, Alexandr забыл сегодня свою ветку поднять?
>>nv-vetal (16.01.03 13:30)
Не привязывайся в запросах к формату дата-время, используй параметры.
← →
nv-vetal (2003-01-16 13:45) [6]Че за параметры?
← →
passm (2003-01-16 13:51) [7]nv-vetal (16.01.03 13:45)> TQuery.Params & TQuery.ParamByName.
WHERE Q1.T_DATE = :T_DATE
← →
Delirium^.Tremens (2003-01-16 13:52) [8]В [DataSet] SQL можно писать с параметрами:
WHERE Date = :paramDate
Перед Open или ExecSQL
DataSet.ParamByName("paramDate").AsDateTime := (var TDateTime);
← →
Anatoly Podgoretsky (2003-01-16 13:57) [9]А какого типа поле, смешно будет если текстового.
← →
nv-vetal (2003-01-16 13:58) [10]Но почему оно не воспринимает "нормальное условие" типа
Date = "12-JAN-2003" ? Или другие (что только не перепробовал)
← →
nv-vetal (2003-01-16 14:01) [11]Поле типа Date! Проверял уже два раза!
← →
sniknik (2003-01-16 14:02) [12]совет поменяй поле Date (название) или используй кавычки [Date]
← →
passm (2003-01-16 14:04) [13]Query.ParamByName("PARAM_DATE").DataType:= ftDate // Object inspectotr поможет указать :)
Query.ParamByName("PARAM_DATE").AsDate:= Date
← →
nv-vetal (2003-01-16 14:05) [14]Пробую!
← →
nv-vetal (2003-01-16 14:16) [15]Нету в TADOQuery такого!
← →
Max Zyuzin (2003-01-16 14:19) [16]>nv-vetal (16.01.03 14:16)
Пиши чего ты пишишь....
Код в общем давай... И чего там нету?
← →
nv-vetal (2003-01-16 14:22) [17]if cmbbxPole1.Text = "Дата" then
begin
DateString := DateToStr(dtpZnach1.date);
Days := DateString[1] + DateString[2];
Months := DateString[4] + DateString[5];
Years := DateString[7] + DateString[8] + DateString[9] + DateString[10];
MonthsInteger := StrToInt(Months);
Case MonthsInteger of
1: Months := "JAN";
2: Months := "FEB";
3: Months := "MAR";
4: Months := "APR";
5: Months := "MAY";
6: Months := "JUN";
7: Months := "JUL";
8: Months := "AUG";
9: Months := "SEP";
10: Months := "OCT";
11: Months := "NOV";
12: Months := "DEC";
end;
DateString := Days + "-" + Months + "-" + Years;
WhereString := "WHERE ([Date] "
+ cmbbxExpression1.Text + " "" + DateString + "") ";
end;
with frmMain.Query do
begin
Active := False;
SQL.Clear;
SQL.Append(SelectString);
SQL.Append(WhereString);
SQL.Append(OrderByString);
Active := True;
end;
← →
Delirium^.Tremens (2003-01-16 14:27) [18]Довольно прикольные методы, ну да ладно.
Сделай следующее и посмотри какой же запрос у тебя получается
после всех этих "действий"
SQL.Append(OrderByString);
... Ctrl+C
ShowMessage(SQL.Text);
... Ctrl+C
Active := True;
← →
nv-vetal (2003-01-16 14:31) [19]Select * FROM Main
WHERE ([Date]="15-JAN-2003")
Order By Name
← →
nv-vetal (2003-01-16 14:34) [20]Или
Select * FROM Main
WHERE Date ="15-JAN-2003"
Order By Name
без разницы!
← →
Max Zyuzin (2003-01-16 14:42) [21]frmMain.Query.SQL.Clear;
frmMain.Query.SQL.Add("Select * FROM Main");
frmMain.Query.SQL.Add("WHERE Main."Date" = :MDate");
frmMain.Query.SQL.Add("Order By Name");
frmMain.Query.ParamByName("MDate").AsDate := DateTimePicker1.Date;
Поле Date переименовать нафиг... это зарезервированое слово.
Поверь DateTimePicker удобнее и симпотичнее того, что ты наворотил :о)
← →
Delirium^.Tremens (2003-01-16 14:47) [22]Select * FROM Main
WHERE Date ="15/01/2003" или "15.01.2003" или "01/15/02" или (зависит от настроек в Regional Settings. Поэтому и говорят, что нужно в виде параметра передавать).
Order By Name
+ {с полем Date надо что-то делать. Date - Keyword}
← →
sniknik (2003-01-16 14:47) [23]какой флейм развел а знаеш почему? не указал всего сразу
nv-vetal (16.01.03 14:16)
Нету в TADOQuery такого!
судя по этому работаеш с ADO.
nv-vetal (16.01.03 14:22)
...with frmMain.Query do
здесь и вообше можно понять что BDE.
методы разные, тебе советуют одно а ты у себя не находиш. без начальных данных нет толковых ответов! всех в заблуждение вводиш.
← →
nv-vetal (2003-01-16 14:52) [24]Работаю с АДО, а там нету ParamByName!
Или я совсем с ума сошел!
← →
Delirium^.Tremens (2003-01-16 14:55) [25]Изучайте предметную область
TADOQuery.Parameters.ParamByName()
← →
sniknik (2003-01-16 14:56) [26]ну вот и дождались. ;-)) все что выше большей частью про BDE.
в ADO TADOQuery.Parameters.ParamByName
← →
Anatoly Podgoretsky (2003-01-16 15:20) [27]Полтора часа на выяснение дваижка, довольно шустро однако.
← →
ZeroDivide (2003-01-16 15:32) [28]Ну вы блин даете :)
← →
sniknik (2003-01-16 15:45) [29]2 ZeroDivide © (16.01.03 15:32)
думаю со стороны Anatoly Podgoretsky это даже не ирония, тут бывало и более простые вещи из спрашивающего сутками выдавливались.
← →
Max Zyuzin (2003-01-16 16:02) [30]>nv-vetal (16.01.03 14:52)
Ну как помогло???
"теперь ты за ним еще полдня бегать будешь.. что бы фотграфию отдать :)" (с)
:)))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.011 c