Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error division by Zero (https://www.clubdelphi.com/foros/showthread.php?t=72582)

arturom 28-02-2011 12:58:02

Error division by Zero
 
Hola,
estoy desarrollando un programa usando D2009 y los componentes TIB de la paleta Interbase sobre windows 7.

He colocado un TIBDatabase, TIBTransaction y TIBQuery conectados entre si para acceder a una base de datos Firebird 2.1

En la base de datos tengo una tabla con varios campos definidos como varchar(255).

La conexión la hace bien, siempre y cuando el SELECT del IBQuery no incluya uno de los campos varchar, momento en que da: error division by zero :confused:

Casimiro Notevi 28-02-2011 14:24:51

¿Y qué estructura tiene la tabla?, ¿qué campos son y de qué tipos?, ¿dónde está el select que haces? :confused:

arturom 28-02-2011 15:23:32

Cita:

Empezado por Casimiro Notevi (Mensaje 392181)
¿Y qué estructura tiene la tabla?, ¿qué campos son y de qué tipos?, ¿dónde está el select que haces? :confused:

Es una tabla sencilla:
Código SQL [-]
CREATE TABLE DATOS
(
  NUMERO Integer NOT NULL,
  EXPEDIENTE Integer NOT NULL,
  OBRA Varchar(255),
  DIRECCION Varchar(255),
  FECHA Date,
  BLOQUE Varchar(255),
  DESCRIPCION Varchar(1000),
  FOTO_GENERAL Blob sub_type 0,
  DETALLES Varchar(1000),
  DIBUJO Blob sub_type 0,
  LEYENDA Varchar(1000),
  EJECUCION Blob sub_type 1,
  OBSERVACIONES Blob sub_type 1,
  VISTA Blob sub_type 0,
  CROQUIS Blob sub_type 0,
  LEYENDA_CROQUIS Varchar(1000),
  PRIMARY KEY (NUMERO)
);

Y el select lo hago en el propio IBQuery.SQL.Add('SELECT * FROM Datos;'); para rellenar un DBGrid.

Si solo pido los campos que NO son varchar, no hay problema (ni con integer, ni con los blob, o la fecha, tengo error), en el momento que incluyo cualquiera de ellos... Por cierto, el tamaño tampoco importa :)

Al González 28-02-2011 17:10:42

Hola arturom.

¿Cuál es el mensaje de error exacto? ;)

arturom 28-02-2011 17:48:59

Cita:

Empezado por arturom (Mensaje 392176)
La conexión la hace bien, siempre y cuando el SELECT del IBQuery no incluya uno de los campos varchar, momento en que da: error division by zero :confused:

Lo he marcado en rojo ;)

guillotmarc 28-02-2011 18:22:15

A mi me tiene la pinta de ser un bug de Delphi o de algunos de los componentes (la grid, ...). ¿ Los tienes bien actualizados ?.

Saludos.

duilioisola 01-03-2011 00:00:02

¿Estás seguro de no tener ningún campo calculado o evento que dependa del Query y que divida por algún valor de los del select?

Dices que el servidor Firebird es el 2.1. ¿El cliente es de esa misma versión?

arturom 01-03-2011 08:37:37

Hola,
después de que empezara a darme el error, he creado un proyecto nuevo donde pongo sólo los tres componentes que ya he mencionado y hago la conexión, el error salta al intentar abrir el IBQuery.

Estoy trabajando en mi PC, donde tengo instalado firebird 2.1.3 descargado directamente desde la página oficial.

Ya he trabajado con anterioridad con el y no he tenido problemas, la única diferencia es que había usado la ZeosLib y ahora pretendo usar los IB.

Voy a probar con Zeos a ver si funciona... :(

Casimiro Notevi 01-03-2011 11:36:10

Me "suena" a un problema con la BD o la configuración del juego de caracteres de la misma. ¿Puede ser?

arturom 01-03-2011 13:12:43

Hola,
pues al final no se lo que puede ser, pero he empezado a tener problemas diversos, los Zeos no colocan los enlaces a sus unidades en uses, me saltan errores de access violation at address XXXX varios y ahora dice que no encuentra los archivos dcu.

No se, quizá la última actualización que he relaizado del SO se ha cargado algo o al avast se le ha colado algún virus o troyano, o me ha cogido la gripe A el PC :rolleyes:

En fin, ya estoy reinstalando D2009 para empezar de nuevo.

Gracias por vuestro interes

rastafarey 04-03-2011 02:35:28

Resp
 
Que char set estas usando.

Y si quieres asegurarte de donde es el error de la bd o de los componete so el set de cracteres prueb aesa misma consulta desde un gestor por ejemplo ibexpert o emsmanager u otro.

arturom 04-03-2011 08:24:15

Hola,
estoy usando UTF8.

He usado FlameRobin para conectarme a la base de datos sin problemas.

En cualquier caso, ya he instalado de nuevo Delphi y se han acabado todos los problemas, probablemente ha sido una corrupción a la hora de actualizar el sistema operativo.

Gracias por vuestro interés. :)


La franja horaria es GMT +2. Ahora son las 20:19:36.

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