Ver Mensaje Individual
  #1  
Antiguo 27-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Reputación: 17
Rofocale Va por buen camino
clientdataset posicionar cursor registro actual

Código Delphi [-]
Close;
            SQL.Clear;
            SQL.Add('UPDATE ventasareas SET areaventa = :areaventa,orden = rden,');
            SQL.Add('articulo = :articulo,descrip = :descrip,');
            SQL.Add('cantidad = :cantidad,precio = recio,cliente = :cliente,');
            SQL.Add('categoria = :categoria,fecha = :fecha WHERE codigo = :codigo');

            params.ParamByName('areaventa').Value := sAreaventa;
            params.ParamByName('orden').Value := iorden;
            params.ParamByName('articulo').Value := txtclave.Text;
            params.ParamByName('codigo').Value := txtcodigo.Text;
            params.ParamByName('descrip').Value := txtdescripc.Text;
            params.ParamByName('cantidad').AsInteger :=  dmDatos.cdsventarea.FieldByName('cantidad').AsInteger + StrToInt(txtcantidad.Text); <---- aqui me suma  mal cdsventarea es un clientdataset
            params.ParamByName('precio').Value := txtprecio.Text;


como veran en la linea de CANTIDAD el clientdata set por ejemplo tengo 3 filas insertadas

Código Delphi [-]
codigo    cantidad
1854         8
5412         12

ahora al actualizar el registro 5412 y le pongo una nueva cantidad de 15 al sumar esta cantidad deberia de dar 27, segun la linea de arriba el clientdataset esta posicionado en el primer registro.. al ingresar en el edit el valor 15 este en ves de sumar 15 + 12, suma 15 + 8 y el resultado es


Código Delphi [-]
codigo    cantidad
1854         8
5412         23

como puedo solucionar este problema ?

gracias
Responder Con Cita