![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
s:='Олег';
DmUnit.DataModule2.Query1.Close; with DmUnit.DataModule2.Query1.SQL do begin Clear; Add('select * '); Add('from Tstud '); add('where Name="Олег"'); end; DmUnit.DataModule2.Query1.Prepare; DmUnit.DataModule2.Query1.ExecSQL; Пишет что "Слишком мало параметров. Требуеться 1". и все.... ![]() и еще вопрос - есть DBTable как можно выполнить сортировку записей по кажатию на заголовке колонки Последний раз редактировалось Геральт, 08.06.2006 в 10:06. |
|
#2
|
||||
|
||||
|
Сделай так:
Код:
S:='Олег';
...
with DmUnit.DataModule2.Query1 do
begin
SQL.Text:='SELECT * FROM TStud WHERE Name = :Name';
Params.ParseSQL(SQL.Text,true);
Params.ParamByName('Name').Value:=S;
Open;
end; |
|
#3
|
|||
|
|||
|
Получилось.. Пасиб.
мож объяснить че не так и как это применить в другом случае. |
|
#4
|
||||
|
||||
|
Скорее всего все дело в обозначении строки как таковой в запросе, разные движки используют разные указатели на начало/конец строки ( ' - одинарная ковычка (как в Delphi) или " - двойная ковычка (как в Basic'е), поэтому для того чтобы не налететь на несовместимость лучше использовать параметры (особенно критично для полей типа ДАТА).
Код:
SQL.Text:='SELECT * FROM TStud WHERE Name = :Name'; Код:
Params.ParseSQL(SQL.Text,true); Код:
Params.ParamByName('Name').Value:=S;Ну и потом открываем выборку. Вот и все, если что не понятно - сорри, не силен я в объяснениях. |