Un login sencillo con base de datos en VB (Este era el único login que faltaba en el blog 😀)
Base de datos y procedimiento almacenado
Crea la base de datos loginvbasico con su tabla usuarios y el procedimiento vai_logueo
create database loginvbasico go use loginvbasico go create table usuarios ( codigo varchar(5), usuario varchar(50), pass varchar(50) ) insert into usuarios values ('U0001','admin','admin') insert into usuarios values ('U0002','usuario2','usuario2') insert into usuarios values ('U0003','usuario3','usuario3') select * from Usuarios go create proc vai_logueo @usuario varchar(50), @clave varchar(50) as select codigo,usuario,pass from usuarios where usuario=@usuario and pass=@clave go
Class1.vb
Creamos una clase e importar System.Data.SqlClient.
Public Class Class1 Dim cnx As New SqlConnection("server=localhost\SQLEXPRESS;integrated security=true;Database=loginvbasico") Public Function Login(usu As String, pass As String) As DataTable Dim cmd As SqlCommand = New SqlCommand("vai_logueo", cnx) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("@usuario", usu) cmd.Parameters.AddWithValue("@clave", pass) Dim da As SqlDataAdapter = New SqlDataAdapter(cmd) Dim dtable1 As DataTable = New DataTable() da.Fill(dtable1) Return dtable1 End Function End Class
VarGlobal.vb
Creamos un módulo con una variable, el nombre del usuario se almacena en esta variable que se recoge en el login y luego se le invoca en el segundo formulario.
Module VarGlobal Public varnickusuario As String End Module
Form1.vb
Creamos el login.
El siguiente bloque de código es muy similar al login que anteriormente se hizo en c#.
Public Class Form1 Dim obj As New Class1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim dt = obj.Login(TextBox1.Text, TextBox2.Text) If (dt.Rows.Count > 0) Then MsgBox("Bienvenido " + dt.Rows(0)(1).ToString, MsgBoxStyle.Exclamation, "Mensaje ") varnickusuario = dt.Rows(0)(1).ToString Form2.ShowDialog() Else MsgBox("Usuario o contraseña incorrecta", MsgBoxStyle.Critical, "Alerta") End If TextBox1.Text = "" TextBox2.Text = "" End Sub End Class
Form2.vb
El segundo formulario solo tiene que llamar a la variable global o módulo.
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load Label2.Text = varnickusuario End Sub
Recuerda
Modificar el nombre del servidor.