Hola a todos:
Estoy trabajando con TaDoDataSource a través del driver de conexion MYSQL ODBC Driver 5.1
tengo una base de datos con 2 tablas
Paciente : codigo
nombre
Hclinica : codigo
enfermedades
cada campo codigo de las respctivas claves son claves unicas y autoincremental
key foranea: en Hclicinica que va al codigo de la Tabla Paciente
con restriccion en delete y update cascada (codigo,codigo)
insercion (ok)
el problema lo tengo en el update
cuando elijo un paciente me voy a un formulario
que tiene 2 TSQLquery (oSQLQuery1 y oSQLQuery2) con las propiedades
NcursorLocation:=adUseclient
NcursorType:=adOpenDynamic
NlockType:=aDlockOptimist
cuando entro al formulario hago supongamos codigo=1
::oSQLQuery1:cSelect:="SELECT * FROM paciente where codigo=1"
::oSQLQuery1:lopen:=.t.
::oSQLQuery1:edit()
::oSQLQuery2:cSelect:="SELECT * FROM hclinica where codigo=1"
::oSQLQuery2:lopen:=.t.
::oSQLQuery2:edit()
En el formulario puedo editar
Nombre y Enfermedades
En el boton de grabar hago:
WITH OBJECT ::oSQLQuery1
:odatasource:begintrans()
:update()
ainf:=:oDatasource:GetErrors()
if len(ainf)>0
a_error(ainf[1,3])
:odatasource:RollBackTrans()
sinerror:=.f.
::TFormPacientes:close()
else
:odatasource:committrans()
sinerror:=.t.
endif
END WITH
if sinerror
WITH OBJECT ::oSQLQuery2
:odatasource:begintrans()
:update()
ainf:=:oDatasource:GetErrors()
if len(ainf)>0
a_error(ainf[1,3])
:odatasource:RollBackTrans()
sinerror:=.f.
::TFormPacientes:close()
else
:odatasource:committrans()
sinerror:=.t.
endif
END WITH
endif
ACA ME SUCEDE LO SUIENTE:
1)
SI modifico el dato Enfermedades de la tabla Hclinica y Grabo
ok
2) SI modifico el dato Enfermedades de la tabla Hclinica y tambien Nombre de la tabla Paciente
ok
3) SI modifico SOLO el nombre me da error en el segundo UPDATE Y ME DICE
ADODB:RECORDSET:UPDATE()
No se puede encontar la fila para su actualización algunos valores han cambiado desde la última vez que se hizo #32
Alguna idea de lo que me pasa ??????
las tablas tiene mas datos, puse estos dos para no extender el mensaje, no tengo datos en comun salvo el codigo
Gracias
cuando presiono el boton de grabar me sucede lo siguiente
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.