Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas (https://www.clubdelphi.com/foros/showthread.php?t=34703)

adaypr 18-08-2006 03:39:17

Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas
 
1 Archivos Adjunto(s)
Hola, Intento hacer 1 herramienta que guarde los elementos procedentes de 2 tablas distintas en columnas de 1 misma base de datos. Las tablas son paradox7 y utilizo el Borland Builder C++ V.5.0

El problema es que tengo 2 tablas para calcular los valores de cada columna de la base de datos que quiero rellenar, el problema es que cojo partes de cada tabla y no cojo 1 entera y al ejecutar el problema me dice que 1 campo de 1 de las tablas (que no utilizo) no es válido. El campo que dice qu no es válido es "Producto" que está en la tabla2 y no lo necesito para nada.
El hecho es que calcula todo bien, pero el error surge cuando se hace el
Query1->ExecSQL();
El código fuente es el siguiente:

Table10->Active = true;
Query1->Close();
Query1->SQL->Clear();
AnsiString factura="INSERT INTO Facturacion(Cantidad, Id.Producto, NombreProducto, Id.Cliente, NombreCliente, ApellidoCliente, TelefonoCliente, PrecioCompra) VALUES (" ;

//factura =factura + "'";
factura =factura + Edit2->Text;
factura =factura + ",";
factura =factura + Table4->FieldValues["Id. Accesorio"];
factura =factura + ",'";
factura =factura + Table4->FieldValues["Accesorio"];
factura =factura + "',";

//localizamos el cliente en la tabla de clientes
Table2->Locate("Nombre",Edit1->Text,Opt);
//introducimos los datos del cliente en la facturación
factura =factura + Table2->FieldValues["Clientes"];


factura =factura + ",'";
factura =factura + Table2->FieldValues["Nombre"];


factura =factura + "','";
factura =factura + Table2->FieldValues["Apellidos"];

factura =factura + "',";
factura =factura + Table2->FieldValues["Teléfono"];


factura =factura + ",";
//comprobamos cuantas unidades de producto quiere el cliente para calcular su precio final
if ((Text=Edit2->Text.ToInt())!= 1)
{

factura =factura + (Text=((Edit2->Text.ToInt()) * Table4->FieldValues["Precio"]));
}
else if ((Text=Edit2->Text.ToInt())== 1)
{
factura =factura + Text=Table4->FieldValues["Precio"]; ;

}
factura=factura + ")";

Query1->SQL->Add(factura);
Query1->ExecSQL();

Table10->Refresh();

En el entorno gráfico los elementos que he puesto son: la tabla, el DataSource y 1 query, en el query lo unico que hice fue enlazarlo con la tabla de la base de datos donde quiero guardar los datos.

Gracias por ayudarme, es que no sé de qué se puede tratar



adaypr 05-09-2006 11:56:33

Problema Resuelto
 
El problema es que no sé exactamente si es del manejador de base de datos o del builder que no acepta nombres de columnas ni con espacios ni con puntos, yo tenía 1 campo que se llamaba Id.Producto y eso no lo interpretaba como 1 campo sólo.
La solución es cambiar de nombre el campo, por ejemplo IdProducto (sin punto):D :D :D


La franja horaria es GMT +2. Ahora son las 05:26:13.

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