Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 17-10-2007
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Poder: 21
VRO Va por buen camino
Parece que el procedimiento almacenado y yo no nos vamos a llevar muy bien.


El procedimiento almacenado es el siguiente aunque ya os lo he detallado.

Código SQL [-]

DELIMITER $$
DROP PROCEDURE IF EXISTS `aytosantillana`.`prueba` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `prueba`(IN f1 char(20), IN f2 char(20))
BEGIN

SELECT puertos.tag,puertos.dispositivo as disp,valores.fecha,case puertos.numpuerto when 0 then valores.A0 when 1 then valores.A1 when 2 then valores.A2 when 3 then valores.A3 when 3 then valores.A3 when 4 then valores.A4 when 5 then valores.A5 end as valor from equipos,puertos,valores where ((valores.idEquipo=puertos.idEquipo) and (equipos.idEquipo=puertos.idEquipo) and (equipos.idEquipo=valores.idEquipo) and (valores.fecha between f1 and f2 )and (puertos.dispositivo<>'Contador') and (puertos.dispositivo<>'Alimentacion') and (puertos.dispositivo<>'Temperatura') and (puertos.tag<>'')) having (valor<>'') order by puertos.dispositivo asc,valores.idEquipo asc,puertos.numpuerto asc, fecha asc;

END $$
DELIMITER ;







Bueno cuando ejecuto el procedimiento almacenado desde Mysql no me da ningún problema lo hago de la siguiente forma:


Código SQL [-]

call prueba (valorf1, valorf2);





Ahora bien cuando intento sacar el resultado desde Delphi ( para la conexion a la base de datos Mysql utilizo componentes Zeos), atraves de un Zquery de esta forma:

Código:
 Zquery.close;
 Zquery.sql.text:='call prueba(valorf1, valorf2)';
 Zquery.open;
Me dice: 'Can't return a result set in the given context'


Si por el contrario hago la llamada a traves de un componente ZStoredProcedure de la siguiente forma:

Código:
 
  Z1.StoredProcName := 'prueba';
  Z1.ParamByName('f1').AsString := DatetimeToStr(StrTodatetime(datetostr(fecha.Date) + ' ' +'00:00:00'));
  Z1.ParamByName('f2').AsString := DatetimeToStr(StrTodatetime(datetostr(fecha.Date) + ' ' +'23:59:59'));
  z1.ExecProc;
Para este caso el mensaje de error es: 'Unsoported operation';

Así que aqui estoy que ya no se para donde tirar una ayudta, por favor.

Gracias
Responder Con Cita
 



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
Procedimiento Almacenado rodrigo19 Oracle 5 22-08-2007 22:55:40
Fecha modificacion Procedimiento almacenado lgarcia SQL 2 28-05-2007 21:33:54
Procedimiento Almacenado pichi Vignola Firebird e Interbase 2 17-08-2006 01:07:38
Procedimiento almacenado y Ado LucianoRey MS SQL Server 11 06-07-2004 22:55:23
procedimiento Almacenado Gabriel A Reyes Conexión con bases de datos 4 19-06-2003 00:14:31


La franja horaria es GMT +2. Ahora son las 14:20:52.


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