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)
-   -   Trabajar con varias tablas (https://www.clubdelphi.com/foros/showthread.php?t=24442)

luxus 20-08-2005 21:26:04

Trabajar con varias tablas
 
Hola a todos,
Estroy trabajando en una aplicación y necesito trabajar con varias tablas de dos bases de datos distintas. Al extaer información de una de las bases de datos y guardarlas en las distintas tablas de la segunda base de datos, me sale un error que dice "ERROR EN LA SINTAXIS DE LA CLAUSULA FROM".
Las bases de datos estan diseñados en ACCESS y utilizo componentes ADO. Curiosamente, NO estoy haciendo ninguna consulta SQL por lo que todavía no entiendo el origen de este error.
Os agradecería si me puedieseis echar una mano.
Un saludo y Gracias.

jmariano 21-08-2005 16:55:18

¿Que componentes estás utilizando para acceder a las diferentes tablas? ¿TADOTable?, ¿Cómo estás guardando la información?

(Si detallas un poco mas como estás leyendo las tablas y guardando la información en las tablas de la otra base de datos, tal vez, podría ayudarte un poquito mas. De todas formas, y por el mensaje que te muestra, fíjate que ningún componente de acceso a datos esté haciendo un "SELECT" en la que involucre varias tablas de bases de datos distintas)

luxus 22-08-2005 13:14:20

Acceso a segunda tabla
 
Hola,
gracias por tu ayuda. En respuesta a tus preguntas:
¿Que componentes estás utilizando para acceder a las diferentes tablas? ¿TADOTable?

- Efectivamente, estoy utilizando componentes ADOTable para cada una de las tablas de las dos bases de datos. Por tanto,
creo que alli no reside el error.

¿Cómo estás guardando la información?

- Básicamente, la lectura de los datos la estoy haciendo mediante un Locate en la tabla y con posterioridad guardo los
datos en variables locales.

A continuación,muestro un ejemplo del procedimiento de lectura y escritura:

Supongamos que tenemos dos bases de datos con dos columnas: fila y columna. Lo que basicamente estoy haciendo es coger
información de la tabla de la primera base de datos (ADOConnection1) y lo quiero guardar en dos tablas (ADOTable2 y ADOTable3)
de la segunda base de datos (ADOConnection2);
La escritura de datos la realizo con un APPEND y POST.


ADOConnection1.Open;
ADOTable1.Open;

ADOTable1.Locate['columna','2',searchoptions);

aux:=ADOTable1.FieldValues['fila'];

ADOConnection2.Open;
ADOTable2.Open;
ADOTable2.Append;
ADOTable2.FieldValues['fila']:=aux;
ADOTable2.FieldValues['columna']:='2';
ADOTable2.Post;

*
ADOTable3.Open;
ADOTable3.Append;
ADOTable3.FieldValues['fila']:=aux;
ADOTable3.FieldValues['columna']:='3';
ADOTable3.Post;

El error es en * (se escribe en la primera table ADOTABLE2 y no llega a escribir en la tabla ADOTABLE3).
El cuadro de error que aparece es 'ERROR DE SINTAXIS EN LA CLAUSULA FROM'.

Os agradecería cualquier ayuda ya que me estoy volviendo loco y seguramente es un error de lo más tonto.
Gracias y Saludos.

jmariano 22-08-2005 18:32:15

En principio, tienes bien el código, así que lo único que se me ocurre es que revises bien las propiedades del componente ADOConnection2 (sobretodo que esté apuntando a la segunda base de datos) y de los dos componentes ADOTable2 y ADOTable3 (sobretodo que ambos estén enganchados al componente ADOConnection2).

(De todas formas, más tarde, me haré un mini-ejemplo haciendo una actualización como la tuya a ver si me da error también).

Siento no poder ayudarte mas!


La franja horaria es GMT +2. Ahora son las 19:18:11.

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