segunda-feira, 25 de março de 2013

Delphi: Executando Componentes de Banco de Dados

Como executar uma Query no Delphi
Alguns programadores iniciantes ao inserir um Query no Data Module da Aplicação simplesmente altera o Campo SQL para executar a operação desejada, porém a forma mais eficaz e executá-la no corpo do programa, assim como as stored procedures

Execução de Query no Delphi

qry.Close; 
qry.SQL.Clear; 
qry.SQL.Add(passe aqui o sql da lista); 
qry.ExecSQL;

Execução de Stored Procedures no Delphi

 CREATE PROCEDURE ATUALIZA_PRECO_VND_PRD ( 
id_produto integer, 
margem_lucro decimal(15,4)) 
as 
begin 
update tabprodutos 
set preco_venda = preco_custo + (preco_custo * :margem_lucro)/100 
where id_produto = :id_produto; 
suspend; 
end^ 

SET TERM ; ^ 

with qrylocal do 
  begin 
    close; 
    sql.clear; 
    sql.add(' EXECUTE PROCEDURE ATUALIZA_PRECO_VND_PRD (:id_produto,:margem_lucro decimal)'); 
    Params[0].asinteger    :=  inttostr(dbe_produto.text); 
    Params[1].ascurrency  :=  inttofloat(dbe_margemLucro.text); 
    try 
      execsql; 
      dm.connection.commit; 
    except 
      dm.connection.rollback; 
    end; 
  end;

lQuery := TQuery.Create(nil);     
try
  lQuery.SQL.Clear;
  lQuery
.SQL.Add('exec fn_ResolucaoPessoa: TipoPesquisa: NomePessoa: CPF: RG: DataNascimento: NomeMae');
  
lQuery.Parameters.ParamByName('TipoPesquisa').Value := rgOpcoes.ItemIndex;
  
lQuery.Parameters.ParamByName('NomePessoa').Value := EditNome.Text;
  
lQuery.Parameters.ParamByName('CPF').Value := EditCPF.Text;
  
lQuery.Parameters.ParamByName('RG').Value := EditRG.Text;
  
lQuery.Parameters.ParamByName('DataNascimento').Value := EditDataNasc.Date;
  
lQuery.Parameters.ParamByName('NomeMae').Value := EditNomeMae.Text;
  
lQuery.ExecSQL;finally
  lQuery.Free;
end; 

Nenhum comentário:

Postar um comentário