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)
-   -   Error ADO y Tablas DBF (https://www.clubdelphi.com/foros/showthread.php?t=5558)

Descendents 25-11-2003 19:05:04

Error ADO y Tablas DBF
 
Buenas, me encuentro con que con ADO , no puedo hacer sentencias select por campos clave.

ejemplo:
Si que puedo hacer
'select * from clientes'

No puedo hacer
'select * from clientes where id_cliente = :id_cliente

Cuando en modo diseño le hago active true , me salta un form de error que me dice:

Production Index file missing,corrupt or cannot interpret index key.

Y si lo hago cuando ya esta compilando es decir cuando esta corriendo el programa me da lo siguiente al hacer el open:

[Microsoft][Controlador ODBC dbase] Pocos Parámetros.Se esperaba 1.

Es correcto trabajar con ADO dbfs o no?

En definitiva. Yo diria que no encuentra el indice de la tabla.

Haber si alguien puede ayudarme
Un saludo
Gracias de antemano

guillotmarc 25-11-2003 19:33:20

Hola.

En lugar de utilizar el driver OleDB para ODBC, prueba a utilizar el driver OleDB para Jet 4. En este hilo, tienes el parámetro a indicar en la conexión, que te conectas a dBase :

http://www.clubdelphi.com/foros/arch...ic.php?t=17270

Saludos.

Descendents 26-11-2003 10:12:14

Buenas, pues, me he conectaso por jet 4, y me da el mismo error.
Lo curios, es que alguna tabla si que le puedo hacer select con parametros, y algunas no puedo.

Que raro, y el programa general utiliza esas tablas y funciona correctamente, es decir las tablas no creo que esten corrumpidas.

Ataco a las tablas dbfs con indices cdx.

No quiero usar BDE, porque tendre que instalar siempre el engine d BDE por donde lo vaya usando.

Alguien que pueda decirme cual es la mejor manera de trabajar en mi caso?

El error que me da es que no encuentra el indice
Indice No encontrado.

Puedo yo decirle al ADOquery que archivo es el indice.

Algo como:
Aqdoquery1.indextable := 'c:\misdocs\tablas\clientes.cdx';

Ya me respuesto esto
IndexName := 'c:\misdocs\tablas\clientes.cdx';

Pero sigo con el mismo error de Indice no encontrado.
No se ADO se hace un lio, por que BDE me funciona.

Gracias
Un saludo

Descendents 26-11-2003 11:17:02

Yo voy diciendo cosas para haber si alguien le sirve de pista, y puede ayudarme

Pues bien ahora lo que hago es que uso una tabla y uso los filtros.

Y funciona.

Ahora tengo el problema medianamente solucionado, por que movere unos 2000 registros. Pero cuando quiera filtrar muchos más y necesitaria:

- ADO con DBFs y usando querys con sentencias WHERE y pasando parámetros

-ADO con SQL server me funciona de maravilla.

Bueno Gracias
Un saludo

marcoszorrilla 26-11-2003 16:27:35

Otra opcion podría ser vincular las tablas a la base de datos Access y accederleas desde ahí.
Un saludo.

Descendents 26-11-2003 21:14:31

Perdona, pero no se que significa vincular la base a access y acceder desde alli.

Si me pudieras explicar que significa?

Y como se hace

Gracias
nsaludo

marcoszorrilla 26-11-2003 22:06:17

Desde Access, le dices Tabla, nuevo, Vincular y eliges el tipo de ficheros DBF y la carpeta en donde está la tabla, a partir de aquí dicha tabla se verá en access y se podrán hacer modificaciones alta y bajas, si bien los índices dependerá de que tipo sean para que se actualicen o no.

Un Saludo.

Descendents 27-11-2003 00:23:29

Ok gracias lo probare
A ver que tal
Un saludo
Gracias


La franja horaria es GMT +2. Ahora son las 03:45:25.

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