Ver Mensaje Individual
  #1  
Antiguo 16-09-2006
RiverPlate RiverPlate is offline
Miembro
 
Registrado: dic 2004
Posts: 17
Reputación: 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