Stored Procedures

Delphi

01/06/2010

Oi, pessoal. Primeiramente quero registrar que já passei uma manhã inteira pesquisando aqui no forum sobre isso. Não consegui um esclarecimento para a minha necessidade.
Ainda estou muito verde em termos de desenvolvimento e estou começando a estudar sobre stored procedures a fim de melhorar a qualidade de meus softwares. Vi que usar SP é muito importante no que diz respeito a performance e segurança.
Tenho um banco FB que tem uma tabela de usuarios. Na tabela tenho os campos id, nick, nome, setor. Criei uma SP para consultar os dados nessa tabela passando um parametro "codigo" para a SP retornar os outros campos. Fiz isso no IBEXPERT e a SP funcionou uma beleza.

CREATE PROCEDURE PROC_USU (    codigo integer)returns (    id_ integer,    nick_ varchar(10),    nome_ varchar(50),    setor_ varchar(20))asbegin    select        usuarios.id, usuarios.nick, usuarios.nome, usuarios.setor    from        usuarios    where        usuarios.id = :codigo        into        :id_, :nick_, :nome_, :setor_;    suspend;end^
Agora gostaria de criar um pequeno aplicativo (teste) para retornar os dados da tabela em um dbgrid passando através de um dbedit o parametro "codigo" e utilizando para isso os componentes da paleta interbase.
Tem como? Quais componentes eu uso para manipular a SP? Como passo para ela o parametro? Alguém poderia me passar breve passo-a-passo de como fazer isso?
Desde já obrigado pela colaboração de todos.

Daniel Mourao

Daniel Mourao

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

01/06/2010

use como se fosse uma tabela.

numa query, coloque a instrução:

select * from proc_usu( :codigo )

depois passe o parâmetro como passaria para uma instrução SQL comum:

query.close;
query.parambyname('codigo').asinteger := 500;
query.open;

GOSTEI 0
Daniel Mourao

Daniel Mourao

01/06/2010


use como se fosse uma tabela.

numa query, coloque a instrução:

select * from proc_usu( :codigo )

depois passe o parâmetro como passaria para uma instrução SQL comum:

query.close;
query.parambyname('codigo').asinteger := 500;
query.open;

 


como se fosse uma tabela você quer dizer uma TIBTable ou uma TIBQuery?
GOSTEI 0
Daniel Mourao

Daniel Mourao

01/06/2010

Oi, pessoal.
Muito obrigado pela atenção de todos. Já consegui obter os resultados que queria. Tentei fechar o tópico mas, não consegui. Fica dando link não encontrado.
Valeu!
GOSTEI 0
POSTAR