|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Чет я не оч понимаю...SQl BDE
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; Ну и потом открываем выборку. Вот и все, если что не понятно - сорри, не силен я в объяснениях. |