Ver Mensaje Individual
  #12  
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.
tengo 3 tablas, la del cliente, la del articulo y la de factura, entones cual seria la forma correcta de hacerlo?

Observa
Cliente
CodCliente
Nombre
Telefono
Celular
Direccion
E-mail

Articulo
CodArticulo
Fecha
Descripcion
Cantidad
Precio de Venta

Factura
CodFactura
Fecha
CodCliente
CodArticulo
descripcion
Cantidad
total

Como lo haria?
Responder Con Cita