Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-02-2012
Avatar de elaguna
elaguna elaguna is offline
Miembro
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Poder: 16
elaguna Va por buen camino
TTable - Enteros positivos no se muestran correctamente

Qué tal, saludos a todos.

Tengo una tabla DBF con 3,600,000 registros aproximadamente, me solicitan un programa que se ejecute desde CD (es decir que no se tenga que instalar nada) para realizar consultas a esos registros.

No me quedo con la tabla DBF porque habría que distribuir e instalar el BDE; entonces estoy en el proceso de pasar todos los datos a Firebird. Hasta ahí todo parecía ir bien pero...

Para pasar los datos estoy usando TTable para manejar DBF y para guardar los registros en Firebird IBQuery. Al ejecutar el programa al llegar al IBQuery1.ExecSQL me sale el mensaje:

Cita:
'Dynamic SQL Error SQL error code = -303 arithmetic exception, numeric overflow, or string truncation'
Revisé los valores de los campos que estoy pasando y es cuando me doy cuenta que la tabla DBF en los valores enteros me muestra negativos, ejemplo: el número 9, en la tabla lo pone como -1996488704.

Esta misma tabla si la visualizo con Foxpro o con DBF Manager me muestra (y maneja) correctamente los valores enteros.

¿Habrá alguna propiedad para que me muestre los valores correctos?

De antemano muchas gracias.



Eduardo Laguna
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita
  #2  
Antiguo 15-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por elaguna Ver Mensaje
la tabla DBF en los valores enteros me muestra negativos, ejemplo: el número 9, en la tabla lo pone como -1996488704.
¿Seguro que 9 lo almacena como -1996488704 ?
Responder Con Cita
  #3  
Antiguo 15-02-2012
Avatar de elaguna
elaguna elaguna is offline
Miembro
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Poder: 16
elaguna Va por buen camino
Qué tal. Gracias por responder.

No. Precisamente ese es el problema.

Si visualizo la tabla con Foxpro o con DBF Manager los datos están bien (el 9 es 9).

Coloqué un DBGrid para visualizar los datos de la misma tabla y efectivamente, en Delphi los enteros se muestran como ya lo mencioné (negativos).

En la tabla el campo ENT_FED es el entero, los demás son texto.

No estoy agregando datos a la tabla DBF, lo que quiero es leerlos para pasarlos a Firebird.

Utilizo Delphi XE.

Gracias por contestar.


Eduardo Laguna.
Imágenes Adjuntas
Tipo de Archivo: png TTable_Delphi.png (5,9 KB, 11 visitas)
Tipo de Archivo: png Tabla_DBFManager.png (5,5 KB, 11 visitas)
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita
  #4  
Antiguo 15-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y con qué conectas a la tabla dbf desde delphi?
¿De qué tipo de campo lo has puesto en firebird?


Acabo de probar con una pequeña dbf que tengo por aquí y sale correctamente :s


Edito, veo que con BDE, usa otra cosa, ya verás como se soluciona.
Responder Con Cita
  #5  
Antiguo 15-02-2012
Avatar de elaguna
elaguna elaguna is offline
Miembro
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Poder: 16
elaguna Va por buen camino
Lo estoy conectando con TTable del BDE.

Código Delphi [-]
DataSource1.DataSet := Table1;

Table1.DatabaseName := 'Z:\QRYCRM\';
Table1.TableName := 'crm_2.dbf';
Table1.Active := True;

dbGrid1.DataSource := DataSource1;

En Firebird el campo es Smallint, pero todavía no hago el paso de los datos. Las dos imágenes que subí son de la misma tabla visualizado en Delphi y DBF Manager.

Gracias.


Eduardo Laguna.
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita
  #6  
Antiguo 15-02-2012
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues algo raro está pasando, porque yo he hecho algo similar hace poco, aunque solamente eran 4.000 registros y no he tenido ningún problema.

un saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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
Consulta en ADO devuelve todos los valores positivos Ermek Conexión con bases de datos 4 21-01-2009 11:04:32
extraer valores enteros desde un reg varchar y guardarlos en reg enteros Gabichu SQL 0 12-08-2008 18:44:36
Grid q no se muestran Oxa78 Varios 3 31-03-2008 21:16:32
Sumar por Separado Positivos y Negativos en Rave norberto_larios Impresión 1 19-08-2006 16:57:48
Numeros positivos con signo Romanosky Varios 1 11-05-2004 12:20:10


La franja horaria es GMT +2. Ahora son las 13:29:09.


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