Подскажите.
Есть метод в классе для выполнения запросов.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 ;
|
Есть методы которые дергаются для выборок .
пример:
Код:
1 2 3 4 | procedure TClients . getClients_list();
begin
getSQLrequest( 'select ID,NAME from CLIENTS' );
end ;
|
Как в данной схеме реализовать параметризированные запросы.
Код:
1 2 | select ID,NAME from CLIENTS where id=:id_client
ParamByName ( 'id_client' ).asinteger:= 100 ;
|
не хочется в запрос передавать переменные, например
Код:
1 | getSQLrequest( 'select ID,NAME from CLIENTS where id:=' +id_client);
|
если выборка большая с кучи таблиц, сам запрос будет сложно читаемым
Возможно есть что-то типа такого.
Код:
1 2 3 4 5 6 7 | clients_query_method()
getClients_list() {
general_sql(clients_query_method)
|