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 24-11-2008
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Question ayuda de como Insertar registro con procedimiento almacenado y campo autoincremento

Hola amigos del foro esperando que esten bien vengo en su ayuda ya que deseo aprender a manejar los procedimientos almacenados en firebird y he estado leyendo documentacion pero aun asi no me queda muy claro y me gustaria que me ayudaran con un ejemplo algo sencillo como insertar un registro a una tabla mediante un SP actualmente utilizo firebird 1.5 + delphi 7 y para manejar firebird utilizo el IBExpert. tengo una tabla cliente la cual tiene un campo autoincremento el cual ya tiene su trigger y generator para el campo autoincremento asi que pues la pregunta es como puedo realizar el procedimiento almacenado para agregar el registro y pues como llamarlo desde delphi ya que nunca he utilizado procedimientos almacenados y deseo aprender. mi idea de como puede ser el procedimiento es el siguiente:

Código Delphi [-]
CREATE PROCEDURE INSERTARCLIENTE(NOMBRE VARCHAR(80),DOMICILIO VARCHAR(100),RFC VARCHAR(20))
AS
BEGIN
INSERT INTO CLIENTES(NOMBREC, DOMC, RFCC) VALUES (:NOMBRE,: DOMICILIO,:RFC);
SUSPEND;
END;



bueno esa idea tengo quizas estoy totalmente mal pero pues esa es la idea que tengo ojala me puedan ayudar y de antemano muchas gracias por tomarse el tiempo de leer este mensaje
Responder Con Cita
  #2  
Antiguo 24-11-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
solo te faltaria llamarlo desde delphi, si utilizas los Zeos hay un componente llamado TZStoredProc, con ese lo puedes ejecutar. Si utilizas otros componentes me imagino que tendran un equivalente para lo que quieres.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 24-11-2008
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Thumbs up

gracias amigo por tu pronta respuesta pero utilizo los componentes que nuestro amigo Al Gonzalez desarrollo para conectarme al Firebird y pues para los SP creo que utilizare el TIBStoredProc que viene en la pestañe de interbase de delphi no creo que tenga problemas por eso pero ahora si viene lo bueno jeje como logro ejecutar el SP desde delphi y como les paso los valores de antemano muchas gracias
Responder Con Cita
  #4  
Antiguo 24-11-2008
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
hola de nuevo aqui tratando de probar como ejecutar el SP que realice hago lo siguiente con un TIBStoredProc lo en enlazo a la base de datos y dentro de su proiedad StoredProcName me sale como opcion el SP que acabo de crear bueno ahi bien pero al momento de ejecutarlo no hace nada el codigo es el siguiente

Código Delphi [-]
dm.spInsertarCliente.Params[0].Value := txtnombre.text;
dm.spInsertarCliente.Params[1].Value := txtdomicilio.text;
dm.spInsertarCliente.Params[2].Value := txtrfc.text;
dm.spInsertarCliente.ExecProc;

ojala me puedan ayudar a resolver el problema de antemano muchas gracias
Responder Con Cita
  #5  
Antiguo 25-11-2008
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
quita el suspend, en el procedimiento almacenado, eso solo sirve para procedimientos que regresan algo así como un dataset

Código Delphi [-]
dm.spInsertarCliente.ParamByName('NOMBRE').asString:= txtnombre.text;
dm.spInsertarCliente.ParamByName('DOMICILIO').asString:= txtdomicilio.text;
dm.spInsertarCliente.ParamByName('RFC').asString:= txtrfc.text;
dm.spInsertarCliente.ExecProc;
dm.trans.commit;
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #6  
Antiguo 25-11-2008
El_Chava El_Chava is offline
Miembro
 
Registrado: jun 2005
Posts: 62
Poder: 19
El_Chava Va por buen camino
Muchas gracias RONPABLO efectivamente quite el suspend del procedimiento y pues tambien me faltaba que el trans hiciera un comit y ya quedo. muchas gracias a los que se tomaron la molestia de responder a mi problema nos estaremosviendo bye
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 procedimiento almacenado pipecato Varios 1 13-12-2005 03:38:26
insertar desde un procedimiento almacenado Gabriel2 Firebird e Interbase 5 28-10-2005 17:48:29
como utilizo un campo con autoincremento. aurbano Tablas planas 8 26-10-2005 11:25:51
Problema al insertar con campo autoincremento predator SQL 0 23-11-2004 14:18:19


La franja horaria es GMT +2. Ahora son las 15:58:57.


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