|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Параметизированный запрос в классе
Подскажите.
Есть метод в классе для выполнения запросов. Код:
procedure TClients.getSQLrequest(sql: string); begin with fDataModule_modelwork do begin try if IBQuery_SQLrequest.Transaction.Active then IBQuery_SQLrequest.Transaction.Active:=false; if IBQuery_SQLrequest.active then IBQuery_SQLrequest.Close; IBQuery_SQLrequest.SQL.Clear; IBQuery_SQLrequest.SQL.Add(sql); IBQuery_SQLrequest.Open; except on e: exception do MessageDlg('Ошибка выполнения запроса'+#13#10+e.message, mtError, [mbOk], 0); end; end; end; пример: Код:
procedure TClients.getClients_list(); begin getSQLrequest('select ID,NAME from CLIENTS'); end; Как в данной схеме реализовать параметризированные запросы. Код:
select ID,NAME from CLIENTS where id=:id_client ParamByName ('id_client').asinteger:=100; Код:
getSQLrequest('select ID,NAME from CLIENTS where id:='+id_client); Возможно есть что-то типа такого. Код:
clients_query_method(){ Sql.AddQuery('select ID,NAME from CLIENTS where id=:id_client') Sql.AddParam('id'):=100; } getClients_list() { general_sql(clients_query_method) |
#2
|
||||
|
||||
DB-провайдер принимает в запросе лишь текст, параметры ввели для удобства пользования, на сервер они всёравно передаются как строчка, поэтому, остаётся только вводить как "метод в классе" функцию типа clients_query_method и в ней "зашивать хотелки", иного не дано
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |