Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2006
adaypr adaypr is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
adaypr Va por buen camino
Cool problema al modificar 1 base de datos paradox7

Hola,
La verdad es que no tengo mucha idea sobre base de datos, pero necesito hacer 1.
He intentado hace 1 base de datos que lleve el control de ventas en 1 concesionario, tanto de coches como de repuestos. El problema es a la hora de facturación, hay que ver que se ha vendido de coches y que de repuestos y modificar la tabla de facturación.
He utilizado la sentencia INSERT INTO.
Intenté hacerlo sin utilizar query y me encontré con el problema que me modificaba la tabla perfectamente, pero no me guardaba los datos.
En primer lugar, el fallo puede ser que no se que propiedades hay que cambiar en el elemento Query.
el código es el siguiente:

Table10->Active = true;
Query1->Close();
Query1->SQL->Clear();
AnsiString factura="INSERT INTO Facturacion(Cantidad, Id.Producto, Nombre del Producto, Id.Cliente, Nombre del cliente, Apellido del cliente, Teléfono del cliente, Precio de la compra) 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();


Al poner puntos de ruptura, me dí cuenta que factura lo calcula bien, el fallo está en la última línea (Query1->ExecSQL() y me da 1 error que dice algo así como:"Invalid use of Keyword. Token del Line Number:1."
Gracias.

Responder Con Cita
  #2  
Antiguo 17-08-2006
adaypr adaypr is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
adaypr Va por buen camino
añadir a la pregunta

Creo que lo que falla es que no sé la sentencia que hay que poner en la propiedad SQL., ya que quiero introducir varios datos a la vez en la tabla.
quiero copiar factura, que es 1 fila con todos los parámetros en la base de datos facturación.
Responder Con Cita
  #3  
Antiguo 17-08-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
A simple vista lo que estoy viendo es que tienes unos nombres de campos no validos "Nombre del cliente", "Nombre del producro". Te aseguro que ningun manejador de Base de datos te ha permitido crear un campo con esa sintaxis.
Para crear una variable o un campo de una tabla no puedes dejar espacios en blanco. Esa es una de las tantas regglas que hay.
Comienza por revisar cada uno de los nombres y colocalos tal cual están en tu tabla.

Saludos
Responder Con Cita
  #4  
Antiguo 18-08-2006
adaypr adaypr is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
adaypr Va por buen camino
Talking

Gracias, me has ayudado a empezar a ver el problema
Responder Con Cita
  #5  
Antiguo 18-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por nemesio
Te aseguro que ningun manejador de Base de datos te ha permitido crear un campo con esa sintaxis.
Estee.... sí se puede. Al menos en MySql e incluso en Paradox se pueden usar nombres de campos con espacios. Claro que es poco recomendable pues es engorroso referirse a ellos y hay que encerrarlos entre caracteres especiales. En MySql se usan apóstrofes inversos: `.

// Saludos
Responder Con Cita
Respuesta



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
Problema al restaurar base de datos jourdan Firebird e Interbase 4 24-08-2011 12:54:03
Problema con instalación de base de datos vick Conexión con bases de datos 2 12-01-2006 02:58:07
Problema de actualizacion de base de datos dmagui Varios 1 20-12-2005 20:44:13
problema de image y base de datos theguy Gráficos 3 02-12-2005 14:29:33
problema base de datos migueilichenco Conexión con bases de datos 9 21-05-2003 22:19:47


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


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