SQLServer no actualiza un campo... aunque tampoco da error

11/01/2006 - 12:19 por Luis Alberto Manero | Informe spam
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!

Preguntas similare

Leer las respuestas

#1 Maxi
11/01/2006 - 13:04 | Informe spam
Hola, esto no creo q sea un problema de SQL, deberias consultar en los foros
de programacion


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Luis Alberto Manero" escribió en el mensaje
news:
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!


Respuesta Responder a este mensaje
#2 Luis Alberto Manero
11/01/2006 - 15:33 | Informe spam
Hola!

Ya lo hice antes, pero nadie parecio tener un problema parecido, así que
pregunté aquí por si acaso :-P

Un saludo y disculpen mi intromisión!

"Maxi" escribió en el mensaje
news:%
Hola, esto no creo q sea un problema de SQL, deberias consultar en los
foros de programacion


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Luis Alberto Manero" escribió en el mensaje
news:
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!






Respuesta Responder a este mensaje
#3 Ele
11/01/2006 - 15:54 | Informe spam
como dice Maxi checa tu programacion crea un trace para ver el contenido de
la linea RS2.Fields("CampoImage").Value = ValorTransfomrado (lo correcto es
ValorTransformado)

"Luis Alberto Manero" escribió en el mensaje
news:
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!


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida