Ver Mensaje Individual
  #14  
Antiguo 22-07-2013
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Reputación: 12
feliz-58 Va por buen camino
Cita:
Empezado por mcs Ver Mensaje
Cambía el código:

Código Delphi [-]
qry1.SQL.Text := 'Insert into Factura (CodFactura, Fecha, CodClient, CodArticulo, Descripcion, Cantidad, MontoTotal) '+
  'VALUES (:CodFactura, :Fecha, :CodClient, :CodArticulo, escripcion, :Cantidad, :MontoTotal)';
qry1.ParamByName('CodFactura').AsString := CodFactura.Text;
qry1.ParamByName('Fecha').AsDate := Dtp1.Date;
qry1.ParamByName('CodClient').AsString := CodClient.Text;
qry1.ParamByName('CodArticulo').AsString := CodArticulo.Text;
qry1.ParamByName('Descripcion').AsString := Cantidad.Text;
qry1.ParamByName('MontoTotal').AsString := Total.Text;
qry1.ExecSQL;

Así indicas exactamente cuales campos quieres insertar (los nombres entre paréntesis antes del VALUES) e insertas los valores usando parámetros (los nombres de campo con el ":" delante).

Por otra parte, si lo que quieres es guardar una factura, vas por el mal camino. Tal cómo te ha dicho Casimiro, debes usar dos tablas distintas:
- Factura, con los valores CodFactura, Fecha y CodCliente
- LíneaFactura, con los valores CodFactura (para enlazar con la tabla Factura), CodArtículo, Cantidad y Total.

De esta forma, una factura puede tener muchos productos, y tal cómo lo has hecho tu, cada factura sólo puede tener un producto de venta. Por otra parte, creo que deberías guardar en la línea de la factura el precio del producto, pero esto es lo de menos.
Me da este error:
[Error] Unit7.pas(133): Undeclared identifier: 'ParamByName'
[Error] Unit7.pas(133): Missing operator or semicolon
Responder Con Cita