Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/07/2009, 11:17
DKain
 
Fecha de Ingreso: junio-2008
Mensajes: 61
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problematica con datareader..creo...

Gracias por la observacion, aunque inecesaria y muy bien definida por ti, donde te comento que hay que leer bien y te hago las tres observaciones correspondientes:

1.- Estoy bajo el entendido de donde se encuentra (vease en el try) y donde solo hay que apoyar lo que el necesita.
2.- No doy codigo, debido a que es para entendimiento de alex en VB, el puntualizar que mi orientación es hacia c# y es a como recuerdo el uso de las herramientas en un flujo relativamente normal, no ayudo a solucionar el problema sino ayudo a entender lo que se necesita, esto es solo da un aporte a que pueda el investigar el resto de detalle en dicho lenguaje, ya que solo falta pulir lo que tenia como salida erronea en su TXT
3.- El uso de las herramientas StreamWriter, DataReader es correcto, posiblemente me falto mas detalle, gracias por el aporte Dwaks!, enfatizo el hecho de que es pseudocodigo.

alex, espero haberte ayudado, saludos!

Cita:
Iniciado por dwaks Ver Mensaje
DKain te brindo todos los conceptos que necesitas saber para alcanzar lo que deseas, creo que en tu codigo ya tienes cosas avanzadas pero errores como por ejemplo nunca asignaste al DataReader el resultado de el Command.ExecuteDataReader() que debe quedar así:

dreader = comando.ExecuteDataReader()

Así ya la instancia dreader tendrá el resultado de el query, ahora Dkain te dice que valides que la instancia tenga valores usando

if dreader.HasRows Then .....

Eso te dice que si tiene Rows entonces podras hacer uso de el sino entonces no debes escribir nada porque no vino datos de vuelta desde el query.

Lo otro es escribir directo en el StreamWriter que ya instanciaste llamado sw esto lo puedes usar cuando recorras los rows de el DataReader.

while dreader.Read()

sw.WriteLine(dreader("Campo").ToString)

end While

Después Dkain te dice que si ya tienes todo listo cierres la conexion a la base de datos y cualquier otro objeto que sea necesario.

Como usas Try Catch puedes agregar el finally y allí terminar tus instancias.

Saludos,