Ver Mensaje Individual
  #13 (permalink)  
Antiguo 01/10/2015, 09:56
kal_el52
 
Fecha de Ingreso: septiembre-2015
Mensajes: 8
Antigüedad: 9 años, 2 meses
Puntos: 5
Respuesta: Buscar usuario y mostrar datos en label

Estabas instanciando 2 veces la clase conexión, en la primera la instanciabas y te conectabas, y después generabas otro objeto Conexion con el que consultabas al usuario (en este último nunca hiciste la conexión).

Te recomiendo que toda la conexión la hagas en un método y no en métodos separados.

Ejemplo:

Código ASP:
Ver original
  1. public DataTable consulta(string usuario)
  2. {
  3.     //Se usa un using, porque todo lo que esté dentro de él vivirá en ese ámbito. Esto sirve en caso de que no cierres la conexión, se cerrará sola porque hereda de la interfaz IDisposable, es decir, que eliminará al objeto de conexión
  4.     using (SqlConnection conn = new SqlConnection("Data Source=VESTERGAARD-PC\\VESTERGAARD;Initial Catalog=crud;User ID=sa;Password=123456"))
  5.     {
  6.         //Abres conexión
  7.         conn.Open();
  8.         //Asignas un comando
  9.         SqlCommand comando = new SqlCommand("Select * from usuario where usuario='" + usuario + "'");
  10.         //Configuras el comando
  11.         comando.Connection = conn; //Le asignas la conexión en donde se ejecutará el comando
  12.         comando.CommandType = CommandType.Text;// Le dices que el comando es de tipo Texto, (puedes decir que es de tipo SP en caso de que uses Procedimientos almacenados)
  13.         SqlDataAdapter da = new SqlDataAdapter(comando);
  14.         DataTable dt = new DataTable();
  15.         da.Fill(dt);
  16.         //Cierre de Conexión y destrucción del mismo
  17.         comando.Dispose();
  18.         conn.Close();
  19.         conn.Dispose();
  20.         return dt;
  21.     }
  22. }

Y para llamarlo deberías hacerlo así.

Código ASP:
Ver original
  1. protected void Button2_Click(object sender, EventArgs e)
  2.     {
  3.         string usuario = txtUsuario.Text;  
  4.         DataTable dt = new Conexion().consultar(usuario);
  5.         try
  6.         {
  7.             if (dt.Rows.Count > 0)
  8.             {
  9.  
  10.                 lblNombre.Text = dt.Rows[0]["usuario"].ToString();
  11.                 lblApellido.Text = dt.Rows[0]["apellido"].ToString();
  12.                 lblCorreo.Text = dt.Rows[0]["correo"].ToString();
  13.                 lblFechaN.Text = dt.Rows[0]["fechanac"].ToString();
  14.             }
  15.             else
  16.             {
  17.                 Response.Write("No se encontro usuario");
  18.             }
  19.         }
  20.         catch (SqlException ex)
  21.         {
  22.  
  23.             Response.Write("No se puede ejecutar" + ex.Message);
  24.         }
  25.    }


Saludos,