Fórum Stored Procedures #378694

01/06/2010

0

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

Responder

Posts

01/06/2010

Emerson Nascimento

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;

Responder

Gostei + 0

01/06/2010

Daniel Mourao


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?
Responder

Gostei + 0

02/06/2010

Daniel Mourao

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!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar