FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cual es la forma correcta de llamar y ejecutar un ProcAlmacenado en IB6 y Delphi 7???
Buenos(as) DIas/Tardes/Noches
Estoy trabajando en un proyectito con Delphi7 e InterBase 6, la cosa es que intento ejecutar un procedimiento almancenado y me salen errores al momento de ejecutarlo desde el delphi, porque no me muestran errores de sintaxis, el codigo del query en Delphi es: y el procedimiento hecho en el InterBAse 6 es: y ya lo ejecute en el Interbase y si se deja, pero desde delphi no, inclusive intente "insert into PR_Ins_InvCatArea VALUES(parametros)" y pos tampoco. Les agradezco su tiempo y la asesoria que me puedan brindar. Sales pues Nos vemos Última edición por Saltamontes fecha: 08-07-2007 a las 14:31:51. |
#2
|
||||
|
||||
Hola, veo que eres miembro desde hace ya medio año, y que tienes 5 mensajes escritos... da la impresión de que todavía eres "iniciado en clubdelphi" Pero igualmente, creo que debo hacerte notar que por favor escribas el código entre las etiquetas [ DELPHI ] y [ /DELPHI ] (sin espacios), ¡No se entiende el código que expones!
Te remito a la guia de estilo. No soy moderador, pero igualmente creo que es recomendable de que te haya hecho la observación. Te pido amablemente que edites tu mensaje y que emplees las etiquetas. Veras que el texto sale bonito y legible. De ese modo, podríamos detectar cual es problema con mayor facilidad. Saludos, |
#3
|
||||
|
||||
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, |
#4
|
|||
|
|||
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):
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 |
#5
|
||||
|
||||
Disculpa, pero esto me deja confundido:
Cita:
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, |
#6
|
|||
|
|||
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.
|
|
|
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 |
|