Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Mydac error (https://www.clubdelphi.com/foros/showthread.php?t=66415)

emeritos 18-02-2010 20:29:36

Mydac error
 
Hola Dilferos,
He estado utilñizando sin probrema el Mydac en Delphi 7 y hasta ahora todo me ha ido bien, pero desde hace unos dias si en el MyQuery le pondo una sentencia normal funciona bien pero si pongo algo asi :
SELECT SUM(dias)
FROM vacaciones
entonces sale este error.

Unknown MySQL datatype(246)(D:\ProyectsDelphi\Mydac\source\MyClass.pas, line 923)

No se por que me dice algo del D: que es el CDRON y no hay nada.

Gracias.

emeritos 19-02-2010 09:44:03

Solucionado.

No se por que no puede el MyDac utilizar el SUM con enteros, ese era el error, solo lo puede utilizar con double o float.

De todas manera gracias.

roman 19-02-2010 16:34:15

¿Cómo que solucionado? Disculpa pero ésa no puede ser una solución. Yo acabo de probar una sentencia similar con una columna INT y MyDac y no he tenido ningún problema. Si hay algún problema así, es grave y deberías indicárselos. Seguramente te atenderán. Podrías comenzar por reproducir el problema con una muestra mínima de la tabla y la consulta exacta que estás usando.

También podrías colocar aquí la sentencia sql que usas para crear la tabla y unos cuantos datos de muestra y pruebo a ver si me da algún problema.

// Saludos

emeritos 19-02-2010 19:52:21

OK lo hare, pero no son maneras de decirlo.m Lo he probado con un entero y no me funciona pondre aqui como lo realizo con que, como etc..

roman 19-02-2010 19:58:16

¡Ups! Perdón. No era mi intención decirlo de ninguna forma mala. Te pido disculpas si te ofendí :o

// Saludos

emeritos 19-02-2010 20:21:44

Vamos a ver, en principio lo he probado en tres ordenadores y ninguno de los tres funciona.
El error me da en tiempo de diseño cuando se ejecuta el TMyQuery (tanto en la opcion "Execute" como en "Data Editor --> open").

Las tablas de la Base de Dato son:

Conductores

cod_conductor INT (autoincrement)
nombre_conductor (Varchar(50))

Vacaciones

cod_vacaciones INT (autoincrement)
cod_conductor INT
dias INT

La sentencia es :

SELECT C.nombre_conductor, SUM(V.dias)
FROM Conductores C, Vacaciones V
WHERE (C.cod_conductor = V.cod_conductor)
GROUP BY C.nombre_conductor
ORDER BY C.nombre_conductor

Y me sale el error indicado antes. Pero si en vez del campo dias INT es DOUBLE entonces funciona perfectamente.

Tambien se produce un error si intentas en tiempo de diseño ejecutar Fields Editor --> Add Fields en el antes mencionado TMyQuery

Ademas con el error tampoco dejaba en tiempo de ejecucion si construias una sentencia y despues la ejecutas.

Todo lo demas que conlleva todo esto (enlaces a otros objetos, propiedades etc.. estan bien definidas).

Esto es lo que querias.

emeritos 19-02-2010 20:24:13

Por cierto esta sentencia la he probado con dos motores de la MySQL y funciona perfectamente.

roman 19-02-2010 20:47:23

Ya hice la prueba con Delphi 7 y MyDac 5.55 y no obtengo ningún error, ni en tiempo de diseño ni de ejecución.

Hay un hilo en los foros de DevArt que menciona algo similar pero realmente no aclara gran cosa.

// Saludos


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

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi