Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
A primera vista parece que todo está bien. Yo no uso Interbase, uso Firebird y lo que me llama la atención son los !! ¿Es correcto eso? Por lo general se usa el ^

Si es posible, podrías exponer cual/es es/son el/los error/es que te arroja/n?
Saludos,

__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 08-07-2007
Saltamontes Saltamontes is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
Saltamontes Va por buen camino
Hola nuevamente, los !! son de la declaracion del procedimiento "a manita", pero en la pestaña METADATA de InterBase me lo muestra de esa manera:

COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;

/* Stored procedures */

CREATE PROCEDURE "PR_INS_INVCATAREA"
(
"PINVENTARIO" VARCHAR(12),
"PMARCA" VARCHAR(20),
"PMODELO" VARCHAR(20),
"PSERIE" VARCHAR(20),
"PDESCRIPCION" VARCHAR(50),
"PPRECIO" FLOAT,
"PEDOFUNC" VARCHAR(15),
"PFECHAINV" DATE,
"PIDAREA" INTEGER,
"PDEPOSITARIO" VARCHAR(70)
)
AS
BEGIN EXIT; END ^


ALTER PROCEDURE "PR_INS_INVCATAREA"
(
"PINVENTARIO" VARCHAR(12),
"PMARCA" VARCHAR(20),
"PMODELO" VARCHAR(20),
"PSERIE" VARCHAR(20),
"PDESCRIPCION" VARCHAR(50),
"PPRECIO" FLOAT,
"PEDOFUNC" VARCHAR(15),
"PFECHAINV" DATE,
"PIDAREA" INTEGER,
"PDEPOSITARIO" VARCHAR(70)
)
AS
declare variable vidInventario integer;
Begin
insert into Inventario (Inventario,Marca,Modelo,Serie, Descripcion, Precio,EdoFuncional, Fecha_Inv)
VALUES(: pinventario,: pmarca,: pmodelo,: pserie,: pdescripcion,: pprecio,: pedofunc,: pfechainv);
select idInventario from Inventario where Inventario = : pinventario into :vidInventario;
insert into Inv_CatAreas VALUES(: pidArea,: vidInventario,: pdepositario);
End
^

SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;

y como digo, el procedimiento ya lo probe desde InterBase y si funciona, pero desde el Delphi 7 no lo hace, me dice que el primer parametro no es una columna valida...

Ahora intente usar la otra forma, llamando el procedimiento como tal, primero agregando el Icono ese de IBStoredProc a un modulo de datos y llamandolo en el codigo asi (ya cheque la BD y seleccione el proc, que es el unico y que estuviera activo):
Código Delphi [-]
DM.IB_PR_Ins_InvCatAreas.ParamByName('PINVENTARIO').AsString := Trim(txt_inventario.Text);
DM.IB_PR_Ins_InvCatAreas.ParamByName('PMARCA').AsString := txt_marca.Text;
DM.IB_PR_Ins_InvCatAreas.ParamByName('PMODELO').AsString := txt_modelo.Text;
DM.IB_PR_Ins_InvCatAreas.ParamByName('PSERIE').AsString := txt_serie.Text;
DM.IB_PR_Ins_InvCatAreas.ParamByName('PDESCRIPCION').AsString := txt_descripcion.Text;
DM.IB_PR_Ins_InvCatAreas.ParamByName('PPRECIO').AsFloat := StrToFloat(txt_precio.Text);
DM.IB_PR_Ins_InvCatAreas.ParamByName('PEDOFUNC').AsString := txt_edofunc.Text;
DM.IB_PR_Ins_InvCatAreas.ParamByName('PFECHAINV').AsString := DateToStr(DTPfecha.Date);
DM.IB_PR_Ins_InvCatAreas.ParamByName('PIDAREA').AsInteger := StrToInt(txt_inventario.Text);
DM.IB_PR_Ins_InvCatAreas.ParamByName('PDEPOSITARIO').AsString := txt_inventario.Text;
DM.IB_PR_Ins_InvCatAreas.ExecProc;

y de esta forma me sale un error que dice que el valor de mi primer parametro (string de 12 caracteres) no es un valor entero valido.


Les agradezco por la orientacion que me puedan dar.
Sales pues
Nos vemos
Responder Con Cita
  #3  
Antiguo 08-07-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Disculpa, pero esto me deja confundido:

Cita:
y de esta forma me sale un error que dice que el valor de mi primer parametro (string de 12 caracteres) no es un valor entero valido.
¿En que quedamos? ¿Se está esperando un string o un integer?
Por un lado estoy viendo un inventario de tipo VARCHAR, por el otro del tipo INTEGER.

¿Puedes, si no es molestia, por favor transcribir textualmente el error?
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 11-07-2007
iuqrul iuqrul is offline
Miembro
 
Registrado: dic 2004
Ubicación: Cartagena
Posts: 36
Poder: 0
iuqrul Va por buen camino
Debes definir en el TIBStoredProc (si usas IBX) el tipo de paramétro de cada uno, debe estar definido por defecto como integer, y lo tendrás que indicar como string.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cómo utilizar consultas con DISTINCT de forma correcta dec MySQL 9 19-09-2006 17:50:47
cual es la sintaxis correcta de ini_set para mandar mail sakuragi PHP 3 14-11-2005 15:24:43
cual es la mejor forma ? martita Varios 14 07-07-2005 19:35:55
Cual es la Forma Correcta de Guardar Texto en un IbDataset con TcpServer???? AGAG4 Varios 0 10-12-2004 22:14:41
Forma correcta de emigrar base de datos.. ronimaxh Firebird e Interbase 5 07-04-2004 23:34:38


La franja horaria es GMT +2. Ahora son las 04:55:11.


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