En el siguiente tutorial veremos realizar un sistema de ingreso con contraseña (login system), usando un base de datos para guardar nuestro usuarios, tabien tendremos la opción obtener el estatus, osea administrador , usuario o invitado , para activar o desactivar opciones según sea el caso. en tanto les pongo el codigo del boto aceptar en el formulario ingreso.
lo primero que tenemos que tener es instala nuestra base de datos , en este caso usare la base de datos de mi servidor web local.
mediante el administrado MYsql , se ha creado una nueva base de datos llamada sistema:
luego a esta se le ha añadido un tabla usuarios con 6 campos.

Imports System.Data
'importamos los nombres
Imports MySql.Data.MySqlClient
Public Class ingresopass
Private veces As Integer = 0
Private Const NumeroIntentos As Integer = 3
Private Sub aceptar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles aceptar.Click
If Me.PasswordTextBox.Text <> "" And Me.UsernameTextBox.Text <> "" Then
'para este tipo de conexcción se ha isntalado un plugin mysql conection
Dim bdcn As New MySqlConnection(mysqlcn)
Dim estatus As Integer
' Permitir varios intentos
veces = veces + 1
'Comenzamos una transacción
Try
bdcn.Open()
' Haciendo el string para el queri evitamos la inyección de código reemplazando las comillas simples
' por otro carácter
Dim sql As String = "Select estatus From usuarios Where " & _
" clave = '" & Trim(Replace(Me.PasswordTextBox.Text, "'", "x")) & _
"' And usuario = '" & Trim(Replace(Me.UsernameTextBox.Text, "'", "x")) & "'"
'cuandro de mensaje de prueba eliminar
MsgBox(sql)
Dim query = New MySqlCommand(sql)
query.Connection = bdcn
Dim x = query.ExecuteScalar()
'carga el resultado: si se encontro concidencia de usuario y pasword
estatus = CInt(x.ToString)
'Cargamos valor a la variable estatus para utilizarla en los dmas contenedores
estatusglobal = estatus
Catch ex As Exception
'mostramos el error
If Err.Number = 91 Then
MessageBox.Show("ha ingresado datos incorrectos o el usuario no esta registrado")
Else
MessageBox.Show("error " & Err.Number.ToString & vbCrLf & ex.Message)
End If
Finally
'cerramos la conexion solo si esta abierta
If (bdcn.State And ConnectionState.Open) <> 0 Then
bdcn.Close()
End If
End Try
If estatus = 1 Then
Me.Hide()
panel.Show()
ElseIf estatus = 2 Then
'contenedor.AdministarToolStripMenuItem.Enabled = False
Me.Hide()
panel.Show()
ElseIf estatus = 3 Then
'contenedor.AdministarToolStripMenuItem.Enabled = False
Me.Hide()
panel.Show()
Else
If veces < NumeroIntentos Then
Label1.Text = "Quedan " & (NumeroIntentos - veces) & " intentos"
If (bdcn.State And ConnectionState.Open) <> 0 Then
Dim dos As String = "2"
bdcn.Close()
End If
Exit Sub
End If
Me.DialogResult = Windows.Forms.DialogResult.No
End If
Else
MessageBox.Show("Ingresa tus datos completos", "Faltan Datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
UsernameTextBox.Focus()
End If
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cancel.Click
Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Hide()
panel.Show()
End Sub
End Class

estimado, muy bueno el ejemplo, pero me gustaria ver los campos de la tabla sino fuera mucha la molestia de poder subir o explicar mejor… agradecido,
saludos de chile
Hola Waldo. gracias por visitar la web.
los campos son los siguientes
El código es para que te des una idea, tienes que adaptarlo a tus necesidades. si deseas conversar acerca de ello , puede hacerlo en el foro aquí: Tutorial Sistema de login visual .net 2008 mysql
hola , es un ejemplo magnifico para mi trabajo de la escuel,
pero no entiendo para q es el Dim bdcn As New MySqlConnection(mysqlcn).
y me marca error en mysqlcn dice q no se a declarado
Gracias por leer
En este caso te marca erro por que no instalaste el plugin mysql conector.
este es para que desde .net puedas conectarte con mysql
aquí tienes para la descarga:
http://www.mysql.com/products/connector/
si tienes alguna duda , aquí estoy. y no paro hasta que te corra bien.
Hola, me parece muy interesante su tutorial; no he podido encontrar un login control con los 2 botones. Soy muy malo para poder hacer arrastrando los labels, textbox y botones al formulario (me quedan desordenados y no me gusta), si hay alguna manera que queden centrados usando código asp html, le agradecería me lo regalara. Gracias.
brother tu tuto me esta siendo de ayuda, solo tengo un problema, en la siguiente parte:
Dim x = query.ExecuteScalar
status = CInt(x.ToString)
‘statusglobal = status
me pone error 13
la conversion de la cadena “cadena” en el tipo integer no es valida. Dame una pista de pork ando mal. Gracias de antemano
Pd. stoy utilizando Visual Studio 2005
Hola que tal, voy iniciando en esto , es q tengo que programar una handhead con visual y tengo muchas dudas, y vi tu pág. , aun estas activo por aquí? Para ver si me puedes apoyar
Saludos
Por ahora deje el visual .net, lamento no poder ayudarte.
Ultimos comentarios
Tutoriales mas vistos
Powered by WordPress ¬ design by ozoneekiz.net
37 procesos generados en 1,181 segundos.