Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
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 17-09-2006
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Poder: 0
RiverPlate Va por buen camino
Parametros Out y Variables Delphi MySql

Buenas gente,

Estoy en un dilema con MySQL y delphi....

Uso los componentes BDE de delphi con un conector MySql (3.5.1) para acceder a la BD, no tengo problemas con las consultas pero si con los store procedures...

El tema es que yo necesito hacer un insert, cosa no muy complicada, pero necesito un parametro out para obtener el id de auto incremento del registro que inserte, por lo que vi la funcion a utilizar es last_insert_id() el tema es que en un TQUERY coloco el call NEW_REG(:Param1,:Param2,....etc) y el ultimo de lo parametros es de tipo OUT y es el que me devuelve id del registro insertado.

Desde delphi cargo los parametros y luego ejecuto el SQL con ExcSql que no tiene problema salvo por la definicion del parametro out el cual me arrija el siguiente error:

"out or inout argument for routine (nombre store procedure) is not a variable"

el Store es algo simple como esto.. (no es el mismo pero para que se den una idea..):

CREATE PROCEDURE `pCreatecontentitem`(
INOUT param_ContentItemId int
, param_Title varchar(255)
, param_Content varchar(4000)
)

Begin
insert into tablename ( Title , Content ) values ( param_Title , param_Content ) ;

set param_ContentItemId = LAST_INSERT_ID();
End;

lo que necesito saber como se trabajan las variables locales en los stores de mysql y los parametros out???.. para con esto poder obtener desde delphi el valor devuelto con Store.ParamByName('param_ContentItemId').AsInteger por ejemplo..

Espero que se haya entendido mi problema.. Saludos

Ahora no puedo ejecutar el sql porque me ar
Responder Con Cita
  #2  
Antiguo 17-09-2006
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Poder: 0
RiverPlate Va por buen camino
Solucion por parte

Buenas, ya solucione una parte y es que si llamo al store en vez de con el parametro OUT :aId por ejemplo, lo llamo como una variable @aId entonces ahi a la salida del store tengo el nuevo Id generado por el autocommit de la tabla.. ahora el problema lo tengo cuando quiero obtener ese valor de variable en un parametro out desde delphi.. probe sin exito con..

NEW_ITEM(@aId,... demas parametros in);
Select @aId into :aId;
/* siendo :aId un parametro out */

o
begin
NEW_ITEM(@aId,... demas parametros in);
Select @aId as aId;
end;
/* a ver si lo podia sacar como un field del resultset pero tampoco..*/

Les agradeceria su respuesta porque estoy colgado con esto y no puedo seguir si no lo soluciono..

Gracias...
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
Para pasar variables de Delphi a FastReport David Impresión 3 11-05-2007 21:14:22
Parametros Delphi 2006 raorre OOP 3 28-07-2006 19:18:58
Parámetros con Zeos y MySQL AzidRain Conexión con bases de datos 1 20-01-2006 08:35:13
Declarar variables Locales en Delphi?? JELIRM Varios 6 09-07-2005 02:22:54
ayuda con delphi^interbase^sql^variables julio2484 Conexión con bases de datos 4 17-09-2004 06:23:01


La franja horaria es GMT +2. Ahora son las 15:34:17.


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