Validar valores en base de datos
-
lunes, 16 de abril de 2012 5:50
Hola gente del foro
Tengo un formulario de inicio de sesión, usuario y contraseña. Puedo ingresar al sistema con cualquier usuario sin ningún problema.
Lo que quiero hacer es poder validar por ejemplo si entro con el usuario admin que aparezca un mensaje en el que diga que es el admin o si es el usuario pepe le muestre otro mensaje diferente.
Hasta ahora tengo el siguiente código:
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Try conectar.Open() verificarUsuario() Catch ex As Exception MessageBox.Show(ex.Message) Finally conectar.Close() End Try End Sub Private Function verificarUsuario() Try Dim query As String = "Select * from usuarios where username = @usuario and password = @contraseña" Dim comando As SqlCommand comando = New SqlCommand(query, conectar) comando.Parameters.AddWithValue("@usuario", UsernameTextBox.Text) comando.Parameters.AddWithValue("@contraseña", PasswordTextBox.Text) Dim adaptador As SqlDataAdapter = New SqlDataAdapter(comando) Dim dt As DataTable = New DataTable() adaptador.Fill(dt) If dt.Rows.Count > 0 Then MsgBox("Bienvenido al sistema", MsgBoxStyle.Information) Form1.Show() Me.Hide() Else MsgBox("Datos de ingreso incorrectos", MsgBoxStyle.Exclamation) End If Catch ex As Exception MessageBox.Show(ex.Message) End Try Return 0 End Function
Cualquier ayuda estaré muy agradecido.
Saludos,
Todas las respuestas
-
lunes, 16 de abril de 2012 7:09
Hola:
En la tabla usuarios, crea un campo nuevo
MENSAJE Varchar(50)
y lo llenas con el mensaje personalizado para el usuario.Cambia esta linea
MsgBox("Bienvenido al sistema", MsgBoxStyle.Information)
por esta otra:
MsgBox(Convert.ToString(dt.Rows(0)("MENSAJE")), MsgBoxStyle.Information)Un saludo desde Bilbo
Carlos -
lunes, 16 de abril de 2012 7:22
Buenas Arnold CR.
Si es únicamente para el usuario admin porqué no añades la condición en el propio UsernameTextox.Text, algo como esto:
If dt.Rows.Count > 0 Then If UsernameTextBox.Text = "admin" Then MsgBox("Bienvenido al sistema Administrador", MsgBoxStyle.Information) Else MsgBox("Bienvenido al sistema Usuario", MsgBoxStyle.Information) End If Form1.Show() Me.Hide() Else MsgBox("Datos de ingreso incorrectos", MsgBoxStyle.Exclamation) End IfUn saludo.
Antonio López Atienza
Microsoft Community Contributor
.NET Developer
Code examples
http://www.lopezatienza.es- Marcado como respuesta Arnold CR martes, 17 de abril de 2012 4:22
-
lunes, 16 de abril de 2012 12:48Moderador
hola
alli validas que el usuario existe o no en la tabla, pero no cuentas con algun lugar la definicion del rol del usuario ?
ya sea que lo implementes como campo en la misma tabla de usuario, quizas un campo que indique su rol
Private Function ObtenerRol() As Integer Try Dim query As String = "Select rol from usuarios where username = @usuario" Dim comando As SqlCommand comando = New SqlCommand(query, conectar) comando.Parameters.AddWithValue("@usuario", UsernameTextBox.Text) Dim rol As Object = cmd.ExecuteScalar() If rol IsNot DbNull.Value Then Return CInt(rol) Else Return 0 End If Catch ex As Exception MessageBox.Show(ex.Message) Return 0 End Try End Functionen este caso recuperas el rol asignado un cero sera sin rol, un 1 sera usuario comun, 2 sera admin
entocnes invocas a la funcion y luego haces el Select Case para mostrar el mensaje del rol de ese usuario
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Arnold CR martes, 17 de abril de 2012 4:22
-
martes, 17 de abril de 2012 4:23
Gracias por las respuestas,
me han sido de bastante ayuda.

