Ver Mensaje Individual
  #1  
Antiguo 31-12-2017
viverosjosem viverosjosem is offline
Registrado
 
Registrado: Dec 2017
Posts: 9
Reputación: 0
viverosjosem Va por buen camino
Unhappy Nuevamente problemas con UPDATE SQL

Hola Amigos.
Hace dias hice una consulta en este foro, y me respondieron muy bien y logre resolver mi problema. Pero ahora estoy en una situacion similar y no logro dar con la solucion:

Como dije en la consulta anterior, soy nuevo en todo lo referenta a SQL y Firebird.

Anteriormente tenia que actualizar un campo "cantidad" de la base de datos que ya tenia un valor, con una nueva cantidad. (el problema lo resolvi con la generosa ayuda de los integrantes del foro).

Ahora tengo un problema similar: Luego de actualizar el campo cantidad con su nuevo valor, debo actualizar el campo Total.

Tengo como ejemplo:
Variables de programa:
iCantidad = 5.
iPrecio = 1500.

En la base de datos ya existe: "Cantidad = 2". Por lo tanto el valor del campo: "Total", deberia ser: Total = 10.500.- (7 * 1500).

Pero el problema es que no logro actualizar el campo "Total".
Me sale un error: SQLDataSet1.Parameters "Total" not found

E probado con todas las combinaciones que se me han ocurrido y nada.

Les dejo el codigo con el que estoy trabajando en las pruebas.

Código Delphi [-]
      iCantidad := StrToFloat(EdCantidad.Text);
      iPrecio   := StrToFloat(EdPrecio.Text);
      iTotal    := iCantidad * iPrecio;

      SQLDataSet1.Close;
      SQLDataSet1.CommandText :=  'UPDATE ' + ' Comanda ' +
                                   'SET ' +
                                       'Cantidad  = (Cantidad + :iCantidad), ' +
                                       'Precio    = :Precio, ' +
                                       'Total     = (Cantidad * :iPrecio) ' +
                                   'WHERE ' +
                                       'Salon  = ' + QuotedStr(EdSalon.Text) + ' AND ' +
                                       'Numero = ' + QuotedStr(EdMesa.Text)  + ' AND ' +
                                       'Codigo = ' + QuotedStr(EdCodigo.Text)+ ';';

      SQLDataSet1.ParamByName('iCantidad').AsFloat := iCantidad;
      SQLDataSet1.ParamByName('Precio').AsFloat    := iPrecio;
      SQLDataSet1.ParamByName('Total').AsFloat     := iTotal;

      SQLDataSet1.ExecSQL(False);

Todo lo demas funciona a la perfeccion. Solo el campo total, es el que me da problemas.

De antemano gracias por la ayuda.

Y felices Fiestas de Año Nuevo.
Responder Con Cita