• Viernes 8 de Noviembre de 2024, 16:46

Autor Tema:  Recorrer Un Sqldatareader  (Leído 6498 veces)

mysticaliptica

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Recorrer Un Sqldatareader
« en: Miércoles 30 de Mayo de 2007, 20:12 »
0
Wenas

Tengo una aplicacion en la q necesito borrar registros de varias tablas. El problema viene cuando intento recorrer el DataReader (ya q me devuelve mas de un registro la Select) para poder hacer el Delete dependiendo de cada registro del DataReader. aki os pongo el codigo con las mis deducciones (seguramente erroneas):

SqlCommand comando1=new SqlCommand("Select Cod_Personaje from Personajes where Num_IP = '"+numip+"'",conexion);
conexion.Open();
SqlDataReader dr1 = comando1.ExecuteReader();
dr1.Read();

//for (int i = 0 ; i < dr1 (????) ; i++) (Recorrer?????????)
//foreach ((tipo) cod in dr1 (???))     (Recorrer????????????)

//For? o Foreach?

{
(Aki irian los deletes de cada tabla segun el registro del data reader)
}

Javier Santamaria

  • Miembro MUY activo
  • ***
  • Mensajes: 142
    • Ver Perfil
Re: Recorrer Un Sqldatareader
« Respuesta #1 en: Viernes 1 de Junio de 2007, 11:37 »
0
Hola, a ver si te entiendo. Quieres recorrer con un for o un for each los registros devueltos en el datareader por la consulta? Si es asi creo que estas recorriendo mal el datareader. Es decir, al hacer dr1.Read(); solo lees el primer registro devuelto por la select. Para recorrerlo se hace asi:

do while dr1.read() do
'Sentencias que quieras hacer
loop

Espero que sea eso lo que preguntas

un saludo

mysticaliptica

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Recorrer Un Sqldatareader
« Respuesta #2 en: Viernes 1 de Junio de 2007, 13:29 »
0
Muchas gracias, era eso si xD, aunque hasta mañana no podré probar si funciona.
Ya comentaré.

 :hola: