Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/10/2005, 11:38
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Les sucede eso porque no están cerrando los DataReaders, ya que sólo se permite un DataReader por conexión a la vez.
Por ejm, el siguiente código no manda error (al menos en mi caso ):
Código:
            SqlConnection conn=new SqlConnection("server=.;uid=sa;database=Northwind");
             SqlCommand com1=new SqlCommand("Select * from customers", conn);
             SqlCommand com2=new SqlCommand("Select * from categories", conn);
             IDataReader rd1, rd2;
 
             conn.Open();
             rd1 = com1.ExecuteReader();
             while (rd1.Read())
             {
                 Console.WriteLine(rd1["ContactTitle"]);
             }
             rd1.Close();
             rd2 = com2.ExecuteReader();
             while(rd2.Read())
             {
                 Console.WriteLine(rd2["CategoryName"]);
             }
             rd2.Close();
             conn.Close();
Para evitar problemas es mejor trabajar con estructuras Try/Catch/Finally, otra alternativa para evitar el problema que mencionas es usar la instrucción using (c#)

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño