Bloqueo al leer Datareader con ACCESS

24/08/2005 - 15:05 por Javier Jurado | Informe spam
Hola a todos, tengo el problema de que al intentar recoger datos desde
tablas de Access mediante Datareader se me bloquea el programa cuando
encuentra un campo vacio y sin valor predeterminado, en la recogida de datos
estoy utilizando ISDBNULL() en la forma siguiente:

dim Dtr as oledb.oledbdatareader
dim sqltext as string = "Select..
dim Cn as new Oledb.OledbConnection
Cn.ConnectionString = "."
Cn.Open
dim Cmd as new Oledb.OledbCommand(SQltext,Cn)
Dtr=Cmd.ExecuteReader

If Dtr.HasRows Then
do while Dtr.Read
if not IsDBNull(Dtr.GetString(0)) Then
Localidad = Dtr.GetString(0)
end if
Loop
End If

no sé que es lo que viene de la Tabla pero lo cierto es que si aún no he
metido datos en el campo que quiero sacar al llegar a la línea del IsDBNull
el programa se para y ya no sigue, sabeis si puedo utilizar otra función que
solucione el bloqueo.

un saludo

Preguntas similare

Leer las respuestas

#1 Julio Casal
25/08/2005 - 07:31 | Informe spam
Qué tal Javier. El problema parece darse porque estás leyendo el valor del
reader antes de haber verificado el Null. Modifica tu sentencia para que se
vea algo así:

While Dtr.Read
If Not Dtr.IsDBNull(0) Then
Localidad = Dtr.GetString(0)
end if
End While


Espero haber podido ayudarte amigo.

Saludos.
Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Javier Jurado" wrote:

Hola a todos, tengo el problema de que al intentar recoger datos desde
tablas de Access mediante Datareader se me bloquea el programa cuando
encuentra un campo vacio y sin valor predeterminado, en la recogida de datos
estoy utilizando ISDBNULL() en la forma siguiente:

dim Dtr as oledb.oledbdatareader
dim sqltext as string = "Select..
dim Cn as new Oledb.OledbConnection
Cn.ConnectionString = "."
Cn.Open
dim Cmd as new Oledb.OledbCommand(SQltext,Cn)
Dtr=Cmd.ExecuteReader

If Dtr.HasRows Then
do while Dtr.Read
if not IsDBNull(Dtr.GetString(0)) Then
Localidad = Dtr.GetString(0)
end if
Loop
End If

no sé que es lo que viene de la Tabla pero lo cierto es que si aún no he
metido datos en el campo que quiero sacar al llegar a la línea del IsDBNull
el programa se para y ya no sigue, sabeis si puedo utilizar otra función que
solucione el bloqueo.

un saludo



Respuesta Responder a este mensaje
#2 Javier Jurado
25/08/2005 - 12:15 | Informe spam
Si ya lo solucioné utilizando If not IsDBNull(dtr.Item(0)) pero te agradezco
la ayuda que me hace sentirme menos solo con este mundo del .NET por
delante.

Gracias de nuevo y un saludo


"Julio Casal" escribió en el mensaje
news:
Qué tal Javier. El problema parece darse porque estás leyendo el valor del
reader antes de haber verificado el Null. Modifica tu sentencia para que
se
vea algo así:

While Dtr.Read
If Not Dtr.IsDBNull(0) Then
Localidad = Dtr.GetString(0)
end if
End While


Espero haber podido ayudarte amigo.

Saludos.
Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Javier Jurado" wrote:

Hola a todos, tengo el problema de que al intentar recoger datos desde
tablas de Access mediante Datareader se me bloquea el programa cuando
encuentra un campo vacio y sin valor predeterminado, en la recogida de
datos
estoy utilizando ISDBNULL() en la forma siguiente:

dim Dtr as oledb.oledbdatareader
dim sqltext as string = "Select..
dim Cn as new Oledb.OledbConnection
Cn.ConnectionString = "."
Cn.Open
dim Cmd as new Oledb.OledbCommand(SQltext,Cn)
Dtr=Cmd.ExecuteReader

If Dtr.HasRows Then
do while Dtr.Read
if not IsDBNull(Dtr.GetString(0)) Then
Localidad = Dtr.GetString(0)
end if
Loop
End If

no sé que es lo que viene de la Tabla pero lo cierto es que si aún no he
metido datos en el campo que quiero sacar al llegar a la línea del
IsDBNull
el programa se para y ya no sigue, sabeis si puedo utilizar otra función
que
solucione el bloqueo.

un saludo



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