![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамический запрос к таблице acess [D6, access]
Leons © (2004-08-09 13:55:00)Не работает динамический запрос. Хотя вроде все верно. Пишет неправильно определен объект Параметр... Как его тогда правильно определить? Где и что поставить?
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
k:=Edit1.Text;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Kods where like:=k');
Memo1.Lines:=ADOQuery1.SQL;
ADOQuery1.Active:=true;
end;
Соловьев (2004-08-09 14:33:00) [21]кликни в инспекторе обьектов ADOQuery в поле Parameters - есть параметр k?
46_55_41_44 (2004-08-09 14:33:00) [22]Слушай допиши ВОТ это:
ADOQuery1.Parameters.ParamValues['K'] := k;
Я же тебе написал... А "к" не должна быть пустой строкой!!!!
Leons (2004-08-09 14:32:00) [23]Пробел есть, но ругается.
Соловьев (2004-08-09 14:30:00) [24]
> нет... именно похоже )))
точно.
> Сделал, но ругается типа параметр К не определен.
между like и :k есть пробел?
Leons (2004-08-09 14:29:00) [25]46_55_41_44.
Сделал, но ругается типа параметр К не определен.
46_55_41_44 (2004-08-09 14:28:00) [26]
> Вряд ли? Скорее точно равно.
нет... именно похоже )))
Sergey13 (2004-08-09 14:26:00) [27]2[8] 46_55_41_44 © (09.08.04 14:21)
>С помощью этого запроса ты получишь все записи в таблице Kods, поле Поле1 которого похоже на к(Edit1.Text)...
Вряд ли? Скорее точно равно.
Sergey13 (2004-08-09 14:21:00) [28]2[5] Leons (09.08.04 14:13)
>k - переменная. Тип - string. Присваивается ей значение edit
к - должна быть переменной ЗАПРОСА (она же параметр) а не локальной переменной твоей программы. Запрос выполняется на сервере и о твоих переменных не знает.
>Хотя вроде все верно.
Все не верно. 8-)
46_55_41_44 (2004-08-09 14:21:00) [29]Сделай вот так:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
k:=Edit1.Text;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM Kods where Поле1 like:k');
ADOQuery1.Parameters.ParamValues['K'] := k;
ADOQuery1.Active:=true;
end;
С помощью этого запроса ты получишь все записи в таблице Kods, поле Поле1 которого похоже на к (Edit1.Text)...
Да кстати не путать К, которое ты ввел в Edit1, с К как параметр. Это две разные вещи!!!
Соловьев (2004-08-09 14:19:00) [30]TADOQuery+F1
->Using ADO datasets->Using TADODataSet->Using parameters in queries
Leons (2004-08-09 14:16:00) [31]Параметр сделал в TADOQuery, назвал kod, тип - ftString, но как и куда в мой код вставить?
Leons (2004-08-09 14:13:00) [32]TADOQuery.Parameters+F1 Не нашел блин ни чего.
k - переменная. Тип - string. Присваивается ей значение edit
Соловьев (2004-08-09 14:07:00) [33]TADOQuery.Parameters+F1
Sergey13 (2004-08-09 14:04:00) [34]А что такое :k? Переменная? Чему равна и какого типа?
Leons (2004-08-09 14:02:00) [35]А где нужно и как определить k
Sergey13 (2004-08-09 14:01:00) [36]LIKE :k
И :к определить перед выполнением запроса.