FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Llamar a un stored procedure de mysql y recuperar resultados
Hola a todos!
bueno tengo un stored procedure en mi base de datos mysql. resumiendo es algo asi procedure conectar(IN elcospel INT UNSIGNED,IN elparq INT UNSIGNED) hace cosas en el medio....... y antes de finalizar hago un select para devolver resultados: SELECT 'cierre' as operacion,minutos as tiempo,newsaldo as saldo_actualizado; ahora necesito desde Delphi llamar a ese procedimiento con parametros que el usuario ingresa y luego recuperar la informacion que este procedimiento me devuelve para poder mostrarla en delphi en un mensaje o hacer otras cosas. El problema es que no me sale! ya probe con varios componentes, entre ellos ADOQuery con ExcecSQL y tambien ADOStoredProc. Con AdoQuery.Excec funciona correctamente pero no me deja recuperar el resutlado que devuelve el procedimiento.. ADOQuery2.Active:= false; ADOQuery2.SQL.Text:='CALL conectar('+idcospel+','+idparq+')'; ADOQuery2.ExecSQL; con el Adostoredproc no me deja ni ejecutarlo, nose porque delphi insiste en agregarle llaves a la consulta ( {}) y esta falla. with ADOStoredProc1 do begin ProcedureName:='conectar'; Parameters.ParamByName('idcospel').Value:=strtoint(idcospel); Parameters.ParamByName('idparq').Value:=strtoint(idparq); ExecProc; end; me da un error de excepcion diciendo por ejemplo Error en la sintaxis bla bla bla y pone {call conectar (2,55) } no se porque le agrega llaves si yo en ningun momento las pongo :S ya no se que hacer si alguien puede ayudarme gracias |
#2
|
||||
|
||||
Si te devuelve registros el procedimiento es ADOQuery2.Open de igual forma con ADOStoredProc1.Open; ........ si no funciona ninguno........ probaste en la consola de mysql si el procedimiento funciona?
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido. |
#3
|
||||
|
||||
¿idcospel y idparq, qué son?, ¿variables delphi o del mysql o son campos?, ¿probaste con la consola a ver si te muestra los datos?, coincido con 2-D@monic, en vez de Exec usa Open.
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#4
|
|||
|
|||
hola gente!
Si en la consola funciona correctamente. Con el ADOstoredProc defino los parametros con un editor de parametros que tiene y despues durante la ejecucion del programa le asigno valores. Parameters.ParamByName('idcospel').Value:=strtoint(idcospel); Parameters.ParamByName('idparq').Value:=strtoint(idparq); ParamByName('idcospel') es un parametro y strtoint(idcospel) es una variable ke recupera mas atras un valor entero. como les digo, delphi me tira una excepcion y en la misma me muestra la consulta correcta, por ejemplo call conectar (2,2) pero entre llaves y dice que tengo un error de sintaxis con mi version de mysql y bla bla voy a probar lo que me dicen a ver si funcione! si no se me ocurrio que voy a tener que agregar parametros de salida y luego consultar dichos parametros para obtener resultados :S |
#5
|
|||
|
|||
Pues no funciona.
al utilizar Open en ambos obtengo lo siguiente: -adoquery no realiza el call, osea, no hay cambios en la base de datos. y luego tampoco me deja recuperar los datos. -adostoredproc el mismo error que antes, me tira un error en la sintaxis que forma delphi. :S yo una vez que se ejecuta el adoquery trato de recuperar los datos asi: ADOQuery2.FieldByName('operacion').Text y me dice que no existe el campo operacion, cuando si se ejecuta el sotred procedure correctamente devuelve entre ellos un atributo operacion. salu2 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con Zeos + Stored Procedure+ MySql | makina | Conexión con bases de datos | 4 | 18-02-2017 04:04:29 |
Ayuda con un Stored Procedure en MySQL | enecumene | MySQL | 22 | 14-09-2008 23:17:57 |
stored procedure con mysql y delphi 7 | didier | Internet | 2 | 13-10-2006 03:36:38 |
Llamar Un Stored Procedure Desde Un Trigger | ibuser | Firebird e Interbase | 3 | 26-08-2004 09:51:48 |
Llamar stored procedure con BDE | Ricardo Alfredo | Conexión con bases de datos | 3 | 12-09-2003 03:09:31 |
|