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 04-12-2005
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
Ayuda con procedimiento almacenado y query

Antes que nada gracias por al atencion prestada, ahora la duda:
uso delphi 6, ibx y firebird

tengo un procedimiento almacenado en la base de datos, es un procedimiento para la insercion de 1 registro, el asunto esta es que lo quiero usar con ibquery en lugar de ibstoreproc, pero no se como llamar el sp ni como pasarle los parametros.

gracias de antemano
Responder Con Cita
  #2  
Antiguo 04-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Ejemplo

UItiliza el componente TIBSQL, te dejo un ejemplito para que lo pongas en práctica:

Código Delphi [-]
  with IBSQL1 do
  begin
    SQL.Add('INSERT INTO tabla');
    SQL.Add('campo1,campo2');
    SQL.Add('VALUES (:Param1,:Param2)');
    ParamByName('Param1').AsInteger=1;
    ParamByName('Param2').AsString:='Algo';
    ExecQuery;
  end;

Un saludo
Responder Con Cita
  #3  
Antiguo 05-12-2005
XBart XBart is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
XBart Va por buen camino
gracias por tu respuesta, el asunto es que el procedimiento almacenado esta en la base de firebird, y quiero saber como usarlo con un ibquery, y segun entiendo tu ejemplo es para insertar un registro pero sin unsar el procedimiento almacenado, si estoy mal corrigeme, por tu atencion gracias
Responder Con Cita
  #4  
Antiguo 05-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Tienes razón, me he confundido un poco.

Sin embargo, no creo que haya problema al ejecutar el procedimiento de esta forma.

Código Delphi [-]
  with IBSQL1 do
  begin
    SQL.Add('EXECUTE PROCEDURE My_Proc(aram1,aram2)');
    ParamByName('Param1').AsInteger=1;
    ParamByName('Param2').AsString:='Algo';
    ExecQuery;
  end;

Cosas que hay que tener en cuenta:
  • Si el procedimiento solamente inserta registros y no devuelve nada lo anterior funciona.
  • Si el procedimiento es del tipo FOR-SELECT y devuelve una serie de registros, entonces lo normal es invocarlo con SELECT y tratarlo como una tabla más.

Un saludo.
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


La franja horaria es GMT +2. Ahora son las 16:27:58.


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