Como executar Stored Procedure IB no Delphi?

05/12/2003

6

Olá galera,

Seguinte gostaria de saber como faço pra executar a stored procedure do IB no delphi, escolhendo um dos ´TIPO´, segue abaixo a stored procedure criada:

/* Procedure GERCLIENTE */ CREATE PROCEDURE GERCLIENTE ( TIPO CHAR(1), CLI_ID INTEGER, CLI_NOME VARCHAR(60), CLI_ENDERECO VARCHAR(60), CLI_BAIRRO VARCHAR(30), CLI_CIDADE VARCHAR(30), CLI_UF VARCHAR(2) ) AS BEGIN [color=red:7f1a6f5ed0][b:7f1a6f5ed0]IF (:TIPO = ´1´) THEN[/b:7f1a6f5ed0][/color:7f1a6f5ed0] BEGIN INSERT INTO ´CLIENTE´(´CLI_NOME´,´CLI_ENDERECO´,´CLI_BAIRRO´,´CLI_CIDADE´,´CLI_UF´) VALUES (:CLI_NOME,:CLI_ENDERECO,:CLI_BAIRRO,:CLI_CIDADE,:CLI_UF); END [color=red:7f1a6f5ed0][b:7f1a6f5ed0]IF (:TIPO = ´2´) THEN[/b:7f1a6f5ed0][/color:7f1a6f5ed0] BEGIN UPDATE ´CLIENTE´ SET ´CLI_NOME´=:CLI_NOME, ´CLI_ENDERECO´=:CLI_ENDERECO, ´CLI_BAIRRO´=:CLI_BAIRRO, ´CLI_CIDADE´=:CLI_CIDADE, ´CLI_UF´=:CLI_UF WHERE ´CLI_ID´=:CLI_ID; END [color=red:7f1a6f5ed0][b:7f1a6f5ed0]IF (:TIPO = ´3´) THEN [/b:7f1a6f5ed0][/color:7f1a6f5ed0] BEGIN DELETE FROM ´CLIENTE´ WHERE ´CLI_ID´=:CLI_ID; END END ---


Então por exemplo se eu escolho o ´TIPO 1´ como faço no Delphi, é que eu aprendi no SQL Server de um jeito, como vou trabalho com o IB6 não seu como fazer. Pode ser um exemplo basico por exemplo usando o ´TIPO 1´ que me viro.

Abraços a Comunidade do Forum ClubeDelphi

Sandro C. Oliveira


Responder

Posts

05/12/2003

Afarias

se vc está usando IBX, pode usar um IBStoredProc ou IBSQL para isso...

com IBStoredProc, vc define o PROCEDIMENTO (propriedade StoredProcName) então é só preencher os parâmetros e executar. Com IBSQL, vc define o SQL, ex::

execute procedure GERCLIENTE (:TIPO, :CLI_ID, :CLI_NOME,
:CLI_ENDERECO, :CLI_BAIRRO, :CLI_CIDADE, :CLI_UF)


e novamente aqui, preenche os parâmetro e executa, ex::

with IBSQL do // ou IBStoredProc
try
Transaction.StartTransaction;
Prepare;
ParamByName(´TIPO´).AsInteger := 1;
ParamByName(´CLI_ID´).AsInteger := codigo;
{...}
ExecQuery; // ou ExecProc
finally
Transaction.Commit;
end;



T+


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira