![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос WHERE ;и дата. Пишу типа WHERE Date =
nv-vetal © (2003-01-16 13:30:00)а в ответ несоответствие типов данных!
Max Zyuzin (2003-01-16 16:02:00) [1]>nv-vetal (16.01.03 14:52)
Ну как помогло???
"теперь ты за ним еще полдня бегать будешь.. что бы фотграфию отдать :)" (с)
:)))
sniknik (2003-01-16 15:45:00) [2]2 ZeroDivide © (16.01.03 15:32)
думаю со стороны Anatoly Podgoretsky это даже не ирония, тут бывало и более простые вещи из спрашивающего сутками выдавливались.
ZeroDivide (2003-01-16 15:32:00) [3]Ну вы блин даете :)
Anatoly Podgoretsky (2003-01-16 15:20:00) [4]Полтора часа на выяснение дваижка, довольно шустро однако.
sniknik (2003-01-16 14:56:00) [5]ну вот и дождались. ;-)) все что выше большей частью про BDE.
в ADO TADOQuery.Parameters.ParamByName
Delirium^.Tremens (2003-01-16 14:55:00) [6]Изучайте предметную область
TADOQuery.Parameters.ParamByName()
nv-vetal (2003-01-16 14:52:00) [7]Работаю с АДО, а там нету ParamByName!
Или я совсем с ума сошел!
sniknik (2003-01-16 14:47:00) [8]какой флейм развел а знаеш почему? не указал всего сразу
nv-vetal (16.01.03 14:16)
Нету в TADOQuery такого!
судя по этому работаеш с ADO.
nv-vetal (16.01.03 14:22)
...with frmMain.Query do
здесь и вообше можно понять что BDE.
методы разные, тебе советуют одно а ты у себя не находиш. без начальных данных нет толковых ответов! всех в заблуждение вводиш.
Delirium^.Tremens (2003-01-16 14:47:00) [9]Select * FROM Main
WHERE Date ="15/01/2003"или "15.01.2003" или "01/15/02" или (зависит от настроек в Regional Settings. Поэтому и говорят, что нужно в виде параметра передавать).
Order By Name
+ {с полем Date надо что-то делать. Date - Keyword}
Max Zyuzin (2003-01-16 14:42:00) [10]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 удобнее и симпотичнее того, что ты наворотил :о)
nv-vetal (2003-01-16 14:34:00) [11]Или
Select * FROM Main
WHERE Date ="15-JAN-2003"
Order By Name
без разницы!
nv-vetal (2003-01-16 14:31:00) [12]Select * FROM Main
WHERE ([Date]="15-JAN-2003")
Order By Name
Delirium^.Tremens (2003-01-16 14:27:00) [13]Довольно прикольные методы, ну да ладно.
Сделай следующее и посмотри какой же запрос у тебя получается
после всех этих "действий"
SQL.Append(OrderByString);
... Ctrl+C
ShowMessage(SQL.Text);
... Ctrl+C
Active := True;
nv-vetal (2003-01-16 14:22:00) [14]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;
Max Zyuzin (2003-01-16 14:19:00) [15]>nv-vetal (16.01.03 14:16)
Пиши чего ты пишишь....
Код в общем давай... И чего там нету?
nv-vetal (2003-01-16 14:16:00) [16]Нету в TADOQuery такого!
nv-vetal (2003-01-16 14:05:00) [17]Пробую!
passm (2003-01-16 14:04:00) [18]Query.ParamByName("PARAM_DATE").DataType:= ftDate // Object inspectotr поможет указать :)
Query.ParamByName("PARAM_DATE").AsDate:= Date
sniknik (2003-01-16 14:02:00) [19]совет поменяй поле Date (название) или используй кавычки [Date]
nv-vetal (2003-01-16 14:01:00) [20]Поле типа Date! Проверял уже два раза!