vijumaba89
10-04-2012, 17:31:53
Hola amigos... no se si este sea el Foro correcto... soy nuevo en esto y ando algo perdido. Estoy trabajando con Lazarus.
Mi problema es el siguiente:
Tengo un TDataSource el cuál lleno con el resultado de un SQLQuery. Lo que deseo es poder recorrer dicho datasource y hacer una actualizaión de un campo especifico del registro en el que me encuetro.
Hasta el momento he logrado hacer el recorrido pero cuando trato de actualizar el valor del campo del datasource, me genera un error que me dice que el dataset is read-only, he intentado hacerlo de varias manera y siempre obtengo el miso error.
No se si alguno de ustede pueda ayudarme... se lo agradeceria inmensamente.
El código que uso es el siguiente:
dso_rpt_balance.DataSet.First; // Posiciono el Dataset en la primera posicion
while not dso_rpt_balance.DataSet.EOF do
begin //Inicio el recorrido
// hago las operaciones que deseo para obtener el valor que voy a actualizar
{........} //Luego coloco el dataset en modo de edición
dso_rpt_balance.DataSet.Edit;
dso_rpt_balance.DataSet.FieldByName('nombrecampo').AsString:='10000'; //Seteo el valor al campo deseado
dso_rpt_balance.DataSet.Post;
dso_rpt_balance.DataSet.Next;
// Avanzo en el ciclo
end;
Si alguién tiene idea de como puedo resolver el problema u otra manera de hacer lo que deseo... estaría de maravilla....
Mi problema es el siguiente:
Tengo un TDataSource el cuál lleno con el resultado de un SQLQuery. Lo que deseo es poder recorrer dicho datasource y hacer una actualizaión de un campo especifico del registro en el que me encuetro.
Hasta el momento he logrado hacer el recorrido pero cuando trato de actualizar el valor del campo del datasource, me genera un error que me dice que el dataset is read-only, he intentado hacerlo de varias manera y siempre obtengo el miso error.
No se si alguno de ustede pueda ayudarme... se lo agradeceria inmensamente.
El código que uso es el siguiente:
dso_rpt_balance.DataSet.First; // Posiciono el Dataset en la primera posicion
while not dso_rpt_balance.DataSet.EOF do
begin //Inicio el recorrido
// hago las operaciones que deseo para obtener el valor que voy a actualizar
{........} //Luego coloco el dataset en modo de edición
dso_rpt_balance.DataSet.Edit;
dso_rpt_balance.DataSet.FieldByName('nombrecampo').AsString:='10000'; //Seteo el valor al campo deseado
dso_rpt_balance.DataSet.Post;
dso_rpt_balance.DataSet.Next;
// Avanzo en el ciclo
end;
Si alguién tiene idea de como puedo resolver el problema u otra manera de hacer lo que deseo... estaría de maravilla....