Tengo una aplicación VB que abre 2 recordset en una base de datos SQLServer
y de forma generica realiza una operación de este estilo (se nota que
programo con VB :-P):
Do While Not RS1.EOF
If RS2.Fields("ID").Value = RS1.Fields("ID").Value Then <=
LOS ID SON DISTINTOS PARA CADA REGISTRO
'CONVERSION DE FORMATOS
RS2.Fields("CampoImage").Value = ValorTransfomrado
RS2.Update
RS2.MoveNext
'DESTRUCCION DE OBJETOS
End If
RS1.MoveNext
If RS1.EOF Then Exit Do
DoEvents
Loop
"CampoImage" es un campo de tipo Image
Pues bien, el caso es que de vez en cuando (con bastante frecuencia), el
dato que realmente es introducido en el campo de RS2 es el dato que se metió
en el registro anterior y no el que se pide que sea introducido.
He probado a meter un punto de interrupción para volver a meter el dato y
por mucho que lo haga, sigue apareciendo el dato viejo, como si se quedase
en memoria o algo así...
Hasta el momento, la única solución que encontré es cerrar el RS2 y volverlo
a abrir (desplazándome al registro deseado, claro está), pero como que esto
no es operativo...
¿Le ha ocurrido a alguien algo parecido alguna vez?
¿Cómo lo podría solucionar?
Muchas gracias por vuestra ayuda!
Leer las respuestas