Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2007
Avatar de zcatzz
zcatzz zcatzz is offline
Miembro
 
Registrado: dic 2006
Posts: 48
Poder: 0
zcatzz Va por buen camino
Procedimiento Almacenado y parametros

Hola Buenas tardes :

Utilizo Delphi 5 y mysql 5...
Tengo un procedimiento almacenado que tiene un parametro de entrada y uno de salida.. Estoy utilizando adoquerys mi duda es la siguiente... Realizo la llamada de este procedimiento de esta manera:


idm:=1;
DModulo.QGeneraMat.Active:=false;
DModulo.QGeneraMat.SQL.Clear;
DModulo.QGeneraMat.SQL.Text:='call addMatricula(@cid,:idm)';
DModulo.QGeneraMat.Parameters.ParamByName('idm').value:=idm;
DModulo.QGeneraMat.ExecSQL;
edit1.text:=InttoStr(cid);







pero no se como tomar el valor de regreso.. es decir el parametro de salida, de la manera como lo hago siempre me devuelve un valor enorme y siempre es el mismo .. Con esto obviamente estoy haciendo algo mal, por lo que lo intente de diferentes maneras y me arroja diferentes errores..

Cual es la sintaxis correcta?

Pd: el procedimento es este:

CREATE DEFINER=`root`@`localhost` PROCEDURE `addMatricula`(out cid int, in idm int)
BEGIN
select count(*) into cid from folio_matricula where id_mpio=idm;
if cid > 0 then
update folio_matricula set foliador=LAST_INSERT_ID(foliador+1) where id_mpio=idm;
select foliador into cid from folio_matricula where id_mpio=idm;
else
insert into folio_matricula values (1, idm);
SELECT LAST_INSERT_ID(idm);
end if;
END
Responder Con Cita
  #2  
Antiguo 13-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En MySql no tengo ni idea, pero prueba con DModulo.QGeneraMat.Fieldbyname('cid').AsXXX

Si no funciona, alguien que use mysql ya nos dirá algo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 15-05-2007
Avatar de zcatzz
zcatzz zcatzz is offline
Miembro
 
Registrado: dic 2006
Posts: 48
Poder: 0
zcatzz Va por buen camino
No funciona

Cita:
Empezado por Lepe
En MySql no tengo ni idea, pero prueba con DModulo.QGeneraMat.Fieldbyname('cid').AsXXX

Si no funciona, alguien que use mysql ya nos dirá algo.

Saludos
Me regresa el error:

QGeneraMat.field´cid´ not found
Responder Con Cita
  #4  
Antiguo 15-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
La otra posibilidad es:
DModulo.QGeneraMat.Parameters.ParamByName('cid').value

siento dar palos de ciego
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 16-05-2007
Avatar de zcatzz
zcatzz zcatzz is offline
Miembro
 
Registrado: dic 2006
Posts: 48
Poder: 0
zcatzz Va por buen camino
Marca Error

Cita:
Empezado por Lepe
La otra posibilidad es:
DModulo.QGeneraMat.Parameters.ParamByName('cid').value

siento dar palos de ciego
Si tambien habia checado de esa forma y no quiere...
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
Cómo trabajar con los parámetros de un procedimiento almacenado? efelix Conexión con bases de datos 7 16-02-2007 22:12:11
Parámetros de un procedimiento almacenado efelix Conexión con bases de datos 0 06-02-2007 16:43:30
Parámetros del procedimiento almacenado efelix MS SQL Server 6 03-11-2006 20:37:34
Parametros a procedimiento almacenado JulioGO PHP 1 03-09-2004 19:04:50
procedimiento almacenado haron Firebird e Interbase 2 29-09-2003 01:09:56


La franja horaria es GMT +2. Ahora son las 08:59:08.


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