none
Como llenar un textbox con un dato de tabla sql usando un método de una clase C#? RRS feed

  • Pregunta

  • Tengo una clase llamada ClsUsuarios y dentro de esta necesito un método que me permita llamar el nombre de usuario donde su status sea True. Eh visto muchos ejemplos donde se usa SqlDataReader pero no se que tipo de dato devuelve, de hecho ni siquiera entiendo como usarlo. Espero puedan ayudarme, gracias de antemano...
    • Editado ChrizZ1920 lunes, 5 de diciembre de 2016 3:17
    lunes, 5 de diciembre de 2016 2:49

Respuestas

  • ChrizZ1920,

    ¿La tabla [Usuarios] permite un único valor True para la columna 'Status'?. Entiendo que requieres obtener el nombre del usuario que tenga como valor True en la columna 'Status', si se encontrará mas de una fila, ¿cuál de ellas se tomará?.

    public class ClsUsuarios
    {
    	public string ObtenerNombre(string Status)
    	{
    		string result = string.Empty;
    
    		try
    		{
    			using (SqlConnection cn = new SqlConnection("Cadena de conexión"))
    			{
    				cn.Open();
    
    				string consultaSQL = @"SELECT MAX(NombreUsuario) FROM Usuarios 
    					WHERE Status = @Status";
    
    				SqlCommand cmd = new SqlCommand(consultaSQL, cn);
    
    				cmd.Parameters.AddWithValue("@Status", Status);
    
    				result = Convert.ToString(cmd.ExecuteScalar());
    			}
    		}
    		catch (Exception ex)
    		{
    			MessageBox.Show(ex.Message);
    		}
    
    		return result;
    	}
    }

    Para invocar el método debes de crear una instancia de la clase ClsUsuarios para acceder al miembro ObtenerNombre() (método)


    ClsUsuarios usuario = new ClsUsuarios();
    
    textBox1.Text = usuario.ObtenerNombre("True");


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Joyce_ACModerator lunes, 5 de diciembre de 2016 19:05
    • Marcado como respuesta ChrizZ1920 martes, 6 de diciembre de 2016 3:15
    lunes, 5 de diciembre de 2016 4:19

Todas las respuestas

  • ChrizZ1920,

    ¿La tabla [Usuarios] permite un único valor True para la columna 'Status'?. Entiendo que requieres obtener el nombre del usuario que tenga como valor True en la columna 'Status', si se encontrará mas de una fila, ¿cuál de ellas se tomará?.

    public class ClsUsuarios
    {
    	public string ObtenerNombre(string Status)
    	{
    		string result = string.Empty;
    
    		try
    		{
    			using (SqlConnection cn = new SqlConnection("Cadena de conexión"))
    			{
    				cn.Open();
    
    				string consultaSQL = @"SELECT MAX(NombreUsuario) FROM Usuarios 
    					WHERE Status = @Status";
    
    				SqlCommand cmd = new SqlCommand(consultaSQL, cn);
    
    				cmd.Parameters.AddWithValue("@Status", Status);
    
    				result = Convert.ToString(cmd.ExecuteScalar());
    			}
    		}
    		catch (Exception ex)
    		{
    			MessageBox.Show(ex.Message);
    		}
    
    		return result;
    	}
    }

    Para invocar el método debes de crear una instancia de la clase ClsUsuarios para acceder al miembro ObtenerNombre() (método)


    ClsUsuarios usuario = new ClsUsuarios();
    
    textBox1.Text = usuario.ObtenerNombre("True");


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Joyce_ACModerator lunes, 5 de diciembre de 2016 19:05
    • Marcado como respuesta ChrizZ1920 martes, 6 de diciembre de 2016 3:15
    lunes, 5 de diciembre de 2016 4:19
  • ¡Muchas gracias por tu respuesta, me ayudó mucho! La tabla permite más de un valor True en la columna Status, esta columna la utilizo para identificar el usuario que está conectado actualmente para luego usar otros datos de la tabla. Para evitar que se repita doy de alta los nuevos usuarios con el valor de Status en False, y cuando cambio de usuario cambio a False el valor que este en True y viceversa para el usuario que se conectara. 

    martes, 6 de diciembre de 2016 3:15