Así a la rapida, detecto un error en la sentencia...
Código Delphi
[-]
Var
a,b,c : real;
begin
a:= StrTofloat(cantidad.Text);
b:= StrTofloat(precio.Text);
c:= a * b;
total.Text:= floatToStr(c);
qry1.SQL.Text := 'Insert into Factura (CodFactura, Fecha, CodCliente, CodArticulo, Descripcion, Cantidad, Total) '+
'VALUES (:CodFactura, :Fecha, :CodCliente, :CodArticulo, descripcion, :Cantidad, :Total)';
qry1.Parameters.ParamByName('CodFactura').AsString := CodFactura.Text;
qry1.Parameters.ParamByName('Fecha').AsDate := Dtp1.Date;
qry1.Parameters.ParamByName('CodClient').AsString := CodClient.Text;
qry1.Parameters.ParamByName('CodArticulo').AsString := CodArticulo.Text;
qry1.Parameters.ParamByName('Descripcion').AsString := lbl9.Text;
qry1.Parameters.ParamByName('Cantidad').AsString := Cantidad.Text;
qry1.Parameters.ParamByName('Total').AsString := Total.Text;
qry1.ExecSQL;
end;
Estas asignando un valor al parametro "Descripcion", el cual no existe ya que en el sql no esta precedido de los ":"...
Deberia ser:
Código Delphi
[-]
qry1.SQL.Text := 'Insert into Factura (CodFactura, Fecha, CodCliente, CodArticulo, Descripcion, Cantidad, Total) '+
'VALUES (:CodFactura, :Fecha, :CodCliente, :CodArticulo, :descripcion, :Cantidad, :Total)';
qry1.Parameters.ParamByName('CodFactura').AsString := CodFactura.Text;
qry1.Parameters.ParamByName('Fecha').AsDate := Dtp1.Date;
qry1.Parameters.ParamByName('CodClient').AsString := CodClient.Text;
qry1.Parameters.ParamByName('CodArticulo').AsString := CodArticulo.Text;
qry1.Parameters.ParamByName('Descripcion').AsString := lbl9.Text;
qry1.Parameters.ParamByName('Cantidad').AsString := Cantidad.Text;
qry1.Parameters.ParamByName('Total').AsString := Total.Text;
qry1.ExecSQL;
end;
Saludos cordiales