Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

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: 18
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 Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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: 18
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 Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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: 18
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 01:27:33.


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
Copyright 1996-2007 Club Delphi