![]() |
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 |
¿Que error es el que te aparece?
|
ibquery error 1004, es todo lo que me marca
|
Bueno, dentro de la sentencia SQL debería ir algo como:
para luego ejecutarla, utilizando el metodo ExeCuteSQL, del IBQuery. |
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 = :pautor into :tautor; /* Verifica si el cliente existe */ if (:tautor is null) then begin insert into cat_autor(autor_nom) values(:pautor); RESULTADO = 'AUTOR GRABADO'; end else begin resultado = 'ESE AUTOR YA EXISTE'; end suspend; end gracias |
Pues en tu caso,s ería asi:
Y eso ejecutaría tu procedimiento almacenado. |
gracias, lo voy a probar ahorita y te escribo...
gracias |
gracias jhonny, funciono muy bien, ahora mi pregunta es como recupero el valor de la respuesta, si no es mucha molestia. gracias
|
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 |
La franja horaria es GMT +2. Ahora son las 15:09:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi