Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/09/2015, 14:31
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

El error está en que le estás pasando un dt.Rows al texto de un Label.
un dt.Rows devuelve un objeto DataRowCollection y no un string, como lo recibe la propiedad Text del Label.

Como estás consultando un usuario deberías colocar esta validación.

Código ASP:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data.SqlClient;
  8. using System.Data;
  9. public partial class mostrar : System.Web.UI.Page
  10. {
  11.     protected void Page_Load(object sender, EventArgs e)
  12.     {
  13.        
  14.     }
  15.     protected void Button2_Click(object sender, EventArgs e)
  16.        {
  17.            string usuario;
  18.  
  19.            usuario = txtUsuario.Text;
  20.          
  21.         SqlConnection cnn= new SqlConnection("Data Source=PORTATIL-PC;Initial Catalog=crud;Persist Security Info=True;User ID=sa;Password=123456");
  22.         SqlCommand cmd = new SqlCommand("SELECT * FROM usuario WHERE  usuario='" + usuario + "'",cnn);
  23.         SqlDataAdapter da= new SqlDataAdapter(cmd);
  24.          DataTable dt= new DataTable();
  25.          da.Fill(dt);
  26.  
  27.          //Aquí vemos si la consulta trae datos, es decir, si el usuario que consultaste existe.
  28.          if(dt.Rows.Count > 0)
  29.          {
  30.              //Al datatable debes indicarle la fila de la cual quieres obtener el valor. Suponemos que te trae un registro,
  31.             //porque es un usuario el que consultas, por eso le damos el valor 0... dt.Rows[indice][nombreColumna]
  32.             //Antes solo estabas pasando el nombre de la columna
  33.              lblNombre.Text= dt.Rows[0]["usuario"].ToString();
  34.              lblApellido.Text=dt.Rows[0]["apellido"].ToString();
  35.          }
  36.  
  37.         cnn.Close();
  38.    }
  39.      
  40. }

Saludos,