Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-01-2010
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
Ayuda con procedimiento almacenado

Buenso dias, es un gusto volver a saludarlos despues de tanto tiempo, por cuestiones laborales me aparte del area de informatica y recien me devolvieron a ese departamento, aunque no necesariamente a programacion, pero en mis ratos libres estoy intentando retomar lo poco que sabia de delphi y firebird, asi que es probable que me vean mas seguido por estos rumbos....

ahora paso a mi pregunta, tengo un libro de delphi y vienen ejemplos, he leido en el foro y vienen ejemplos, talves mi pregunta parezca tonta, y es la siguente...

uso delhpi 6, ibx y firebird 1.5
tengo un procedimiento almacenado, el cual su funcion es dar de alta un nombre, es todo, el procedimiento almacenado primero checa si ese nombre ya existe, si no es asi lo de alta.

Ahora mi pregunta es enel libro dice que use un ibquey, pero si pongo los datos como en el ejemplo me da error, me gustaria me dieran un ejemplo como llar un sp que retorne un valor y como llar uno que regrese varios registros, a forma de consulta, espero aberme explicado bien, agradezco de antemano toda su ayuda....

XBart
Responder Con Cita
  #2  
Antiguo 22-01-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
¿Que error es el que te aparece?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 22-01-2010
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
ibquery error 1004, es todo lo que me marca
Responder Con Cita
  #4  
Antiguo 22-01-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, dentro de la sentencia SQL debería ir algo como:

Código SQL [-]
execute procedure nombre_del_procedimiento(parametro1, parametro2, parametro3...parametroN);

para luego ejecutarla, utilizando el metodo ExeCuteSQL, del IBQuery.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 22-01-2010
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
esto lo pongo en el query

query.sql.add:=('execute procedure nombresp(parametros)');

y me maarca error, seria mucha molestia me pusieras un ejemplo de como lo usas tu, mi sp solo usa un parametro, el sp es el siguiente:

SET TERM ^ ;
CREATE PROCEDURE SP_AUTOR_ALTA (
PAUTOR VARCHAR(60))
RETURNS (
RESULTADO VARCHAR(50))
AS
DECLARE VARIABLE TAUTOR VARCHAR(60);
begin
/* Procedure Text */
select autor_nom
from cat_autor
where autor_nom = autor
into :tautor;
/* Verifica si el cliente existe */
if (:tautor is null) then
begin
insert into cat_autor(autor_nom)
values(autor);
RESULTADO = 'AUTOR GRABADO';
end
else
begin
resultado = 'ESE AUTOR YA EXISTE';
end
suspend;
end


gracias
Responder Con Cita
  #6  
Antiguo 22-01-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Pues en tu caso,s ería asi:

Código Delphi [-]
query.Close;
query.SQL.clear;
query.SQL.add('execute procedure SP_AUTOR_ALTA(:PAUTOR)');
query.Close;
query.ParamByName('PAUTOR').AsString := //Aca la variable con el codigo del autor...
query.ExecSQL;

Y eso ejecutaría tu procedimiento almacenado.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 22-01-2010
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
gracias, lo voy a probar ahorita y te escribo...

gracias
Responder Con Cita
  #8  
Antiguo 01-02-2010
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
gracias jhonny, funciono muy bien, ahora mi pregunta es como recupero el valor de la respuesta, si no es mucha molestia. gracias
Responder Con Cita
  #9  
Antiguo 02-02-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Lo tienes en un parámetro (de salida), así que lo puedes leer de forma parecida a como has dado valor a los parámetros (de entrada).

ShowMessage('Resultado: ' + query.ParamByName('RESULTADO').AsString);

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con procedimiento almacenado microbiano Internet 6 10-09-2008 03:11:15
ayuda con el codigo de procedimiento almacenado pipecato MS SQL Server 3 13-12-2005 03:41:35
ayuda con el procedimiento almacenado pipecato Varios 1 13-12-2005 03:38:26
Ayuda con procedimiento almacenado y query XBart Firebird e Interbase 3 05-12-2005 03:42:55
Ayuda sobre un Procedimiento Almacenado Nuria Firebird e Interbase 6 21-01-2004 13:18:15


La franja horaria es GMT +2. Ahora son las 20:22:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi