PDA

Ver la Versión Completa : Error inesperado funcionaba bien


joseapd603
17-11-2011, 20:24:58
Buenas amigos, tengo este problema el sistemita que estoy haciendo funcionaba bien pero ahora de repente sate este error

No se puede encontrar la fila para su actualización: algunos valores han cambiado desde la ultima vez que se leyó.

la cuestion esta en que no he hecho ninguna modificacion para que este error salga.

para ser ma visual, tengo un formulario de buiblioteca donde hago los prestamos y desde ese formulario cuando presione guardar el agrega en la tabla de prestamo los datos bien, pero en el mismo boton guardar edito la tabla de libros para que en el campo cantidad de la tabla libros se reste 1 libro, el error da justo cuando hace el Post para hacer esa edicion. este es el codigo que tengo:

procedure TForm10.GUARDARClick(Sender: TObject);
begin

datasource1.DataSet.FieldByName('tipo').Value:=combobox1.Text;
datasource1.DataSet.FieldByName('cod_presta').Value:=edit1.Text;
datasource1.DataSet.FieldByName('ced_usu').Value:=edit2.Text;
datasource1.DataSet.FieldByName('cota_lib').Value:=edit3.Text;
datasource1.DataSet.FieldByName('fecha_presta').Value:=edit4.Text;
datasource1.DataSet.FieldByName('fecha_entrega').Value:=edit5.Text;
datasource1.dataset.Post;
datasource1.DataSet.Refresh;

datasource2.DataSet.First;
datasource2.DataSet.Locate('cota',edit3.Text,[loCaseInsensitive, loPartialKey]);
datasource2.DataSet.Edit;
datasource2.DataSet.FieldByName('cantidad').Value:=datasource2.DataSet.FieldByName('cantidad').Value-1;
datasource2.DataSet.Post;
datasource2.DataSet.Refresh;
desabilitar;
end;
agradeseria toda la ayuda y sugerencias presentadas.

oscarac
17-11-2011, 20:38:53
el datasource2 a donde apunta? a una tabla? a un query?

ecfisa
17-11-2011, 20:45:41
Hola.

Una consulta, ¿ Hay un sólo usuario involucrado o son varios utilizando la misma base de datos cuando se produce el error ?

Un saludo.

joseapd603
17-11-2011, 20:45:54
si, perdon por obviar eso, la base de datos esta hecha en access 2003 y para la conexion utilizo un ADOconection, un ADOtable y un Datasource.

joseapd603
17-11-2011, 20:46:27
si, hay solamente un usuario usando la base de datos

ecfisa
17-11-2011, 20:58:12
Hola.

Entonces la cosa no vá por donde pensaba...

No manejo Access, pero revisá este enlace donde presentan un problema similar: Problema con ADO (http://es.narkive.com/2003/8/8/341675-problema-con-ado.html).

Un saludo.

Neftali [Germán.Estévez]
18-11-2011, 11:41:09
En algunos casos está relacionado con las claves primarias de las tablas.
¿Tienes claves primarias definidas para la tabla?

fjcg02
18-11-2011, 22:15:00
Neftali +1

Me uno a la causa. Seguramente no hay clave primaria en la tabla. Ese suele ser el error típico.

Saludos

joseapd603
22-11-2011, 00:42:30
si, tiene clave principal, la cual es string, el sistema hace la midificacion en la tabla "Libros", pero muestra ese error, es decir, el sistema cuando ejecuta el codigo hace todo bien incluso ekl edit, pero da el error.