Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Error tabla dbf (https://www.clubdelphi.com/foros/showthread.php?t=62731)

caifan_0883 10-01-2009 19:53:57

Error tabla dbf
 
Hola que tal compañeros foreros Feliz 2009 a todos.

Les planteo a continuación una de los errores que me manda una de las tablas que estoy empezando a manejar. En concreto es una dbf de un sistema muy conocido aqui en méxico pero quisiera extraer unos datos con un programita que estoy haciendo.

Como dije estoy manejando tablas DBF pero me marca el siguiente error al quererlo abri con el Database Desktop que se instala con el Delphi 7 y al igual al usarlo en mi programa con un TTable. Lo que me sale es lo siguiente

"Corrupt table/index Header"

Lo curioso de este caso es que me consegui un programa externo al Database Desktop de nombre DBF viewer y en este si logro ver todo el contenido, estructura y demas.

Aqui viene mi pregunta. ¿Que estoy haciendo mal? ,¿Existe otro componente externo que pueda manejarlos sin ningun problema?, ¿De que otra manera que no sea ADO pudiera conectarlo?

Saludos y Gracias de antemano.

marcoszorrilla 10-01-2009 21:27:34

Si solamente es para consultar puedes utilizar el BDE y consultas SQL con TQuery, a mi en estos casos me funciona correctamente.

Un Saludo.

caifan_0883 13-01-2009 00:06:34

Mismo error
 
Cita:

Empezado por marcoszorrilla (Mensaje 334122)
Si solamente es para consultar puedes utilizar el BDE y consultas SQL con TQuery, a mi en estos casos me funciona correctamente.

Un Saludo.

Gracias por contestar marcoszorilla, pero cuando le pongo el TQuery Activo, me suelta el mismo error.

El las Tablas del sistema es uno llamado AdminPAQ no se si lo conozcan.

Saludos!! seguire buscando

caifan_0883 13-01-2009 00:51:19

Solucion por mientras
 
Hola que tal gracias por contestar. Tengo una solución parcial, quiero pensar que asi sea sobre mi problemita.

Lo hice con la pestaña de ADO. A continuación describo los pasos que segui, no se si sean los correctos ustedes me corregiran, esta solucion la encontre en otra web pero le estuve moviendo ahi un poco.

1.- Arrastre hacia mi forma un ADO Conection y le di doble click en el y me apare una venta de configuración y di un click donde dice el boton BUILD en el apartado "Use Connection String"

2.- De ahi en la pestaña de Proveedor le puse el default que sale seleccionado "Microsoft OLE Provider for ODBC Drivers" y le di siguiente.

3.- En la pestaña Conexion, seleccione "Usar cadena de conexion" y click en generar. De ahi en nombre de DNS le di click en nuevo. y seleccione el driver que se utiliza, en este caso como no podia hacer funcionar ni con foxpro y con paradox le puse uno que se me hizo raro y ha de ser un ODBC tipico para este sistema seleccione "CODEBASEODBCSTAND", click siguiente y en la siguiente ventana examinar, y me fui al directorio donde estan las tablas dbf y le puse un nombre y que solo agrega la extension DNS. Click en siguiente y Finalizar. Ventana Logon click en aceptar.

4.- En la parte 2 puse contraseña en blanco y aceptar y ok.


5.- De ahi ya agrego a mi forma un ADOTable. y en Connection le pongo mi ADO Connetion y ya me aparecen mis tablas y de ahi le doy active true y wuaaaaala no marca error. Agrego un DataSource y un DBGrid y me aparecen todo.

Espero se haya entendido los pasos que hice y rectifico no se si este bien, y a todo esto me viene una duda.

¿Por cada diferente directorio, tendre que crear una coneccion DNS? ¿Y como la creo por codigo?

Saludos y Gracias de antemano.


La franja horaria es GMT +2. Ahora son las 22:40: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