Ver Mensaje Individual
  #5  
Antiguo 23-12-2017
WHILENOTEOF WHILENOTEOF is online now
Miembro
 
Registrado: mar 2008
Posts: 229
Reputación: 17
WHILENOTEOF Va camino a la fama
Cita:
Empezado por viverosjosem Ver Mensaje
Hola Whilenoteof. agradezco tu ayuda.
Hice lo que me sugeriste.

Cambié la asignación del parametro cantidad a: Set Cantidad = Cantidad + iCantidad

Código Delphi [-]
 SQLDataSet1.Close;
  SQLDataSet1.CommandText :=  'UPDATE ' + ' Comanda ' +
                                     'SET ' +
                                         'Cantidad   = Cantidad + :iCantidad  ' +
                                      'WHERE ' +
                                          'Salon  = ' + QuotedStr(sSalon)  + ' AND ' +
                                          'Mesa   = ' + QuotedStr(sNumero) + ' AND ' +
                                          'Codigo = ' + QuotedStr(sCodigo) + ';';

         SQLDataSet1.ParamByName('Cantidad' ).AsFloat := iCantidad;
         SQLDataSet1.ExecSQL(False);

pero me da un error: SQLDataSet1 Field 'cantidad' not found;


tambien lo probe quitando la linea:
SQLDataSet1.ParamByName('Cantidad' ).AsFloat := iCantidad;.. y nada.
..y luego quite esta: SQLDataSet1.ExecSQL(False);.. y nada.

hice todas las conbinaciones que se me ocurrieron y no produce nada, o en el peor de los casos me da error.

Alguna nueva idea?

Gracias por la ayuda. muy agradecido
Fíjate en los nombres que les das a los campos y a los parámetros, yo le he puesto al parámetro iCantidad, para que no coincida con el mismo nombre que tiene el campo, no sé si sería motivo de error, pero no me gusta hacer coincidir los nombres de campos y parámetros. La sentencia
Código Delphi [-]
SQLDataSet1.ParamByName('Cantidad' ).AsFloat
da error, porque no hay ningún parámetro que se llame Cantidad, tal como yo te lo he puesto sería iCantidad, es decir:
Código Delphi [-]
SQLDataSet1.ParamByName('iCantidad' ).AsFloat
, asegúrate también que la query tiene definido ese parámetro (dependiendo de los componentes que utilices, se creará automáticamente a partir de la notación :iCantidad).
Responder Con Cita