Você está na página 1de 11

Trabajar en windos Disear un formulario el ingreso de un usuario su contrasea ademas su nivel de acceso (definir lo en un combo: usuarioadiministrador y superusuario.

Tan solo debe permitir 3 accesos al intento del sistema . Definir y crear la base de datos en sqls llamada empresa y defina una tabla llamada usuarioque tiene los siguientes campos : Nombre del usuario Apellido del usuario Nombre de acceso del usuario Contrasea del usuario Nivel de acceso Debera llenar como minimo en forma directa tres registros el primero tiene los siguientes datos Jorge Carranza Kokito 123456 3(nivel de superusuario)

Trabajo Traer la base de datos el martes y el diseo del formulario En un formulario 2

Debera aparecer el nombre y apellido que a acceado al sistema Revisar(que verifique 3 intentos se cierra y que salga un mensaje )

Validar Usuario y Contrasea De Una base de Datos Con Visual Basic.net 2005
hola a todos, bueno voy a mostrar como se hace la validacion de usuario y contrasea que han sido ingresados en un tabla de base de datos,en esta ocasion utilizando microsoft visua.net 2005. Lo primero que tenemos que hacer es crear nuestra base de datos con nuestros usuarios y contraseas correspondientes para esto utilizare el mismo entorno de visual basic.net 2005 que nos da la opcin de poder crear base de datos sql sin salir de ella: Ingresamos a visual Basic.net 2005 y creamos un nuevo proyecto

Lo Llamaremos ValidacionUsuarios y aceptamos. Bueno ya creado nuestro proyecto nos dirigimos al men Proyecto/Agregar Nuevo Elemento

Elegimos La opcin Base De Datos en Blanco y Le ponemos el Nombre BDUSUARIOS y Aceptamos:

Nos aparece el Asistente Para La Configuracion De Origenes De Datos, en esta ocacion le damos cancelas por que no tenemos ninguna tabla creada:

Si nos fijamos en el Explorador de Soluciones que la Base de Datos ya se agrego

bien ahora tenemos que crear las tablas donde ingresaremos los datos de los usuarios, para eso nos dirigimos al Menu Ver/Explorador de Servidores

Exploramos y en tablas le damos clic derecho y la opcin Agregar Nueva Tabla:

Diseamos la tabla como muestra la siguiente imagen, no nos olvidemos de la Clave Primaria solo con clic derecho podremos agregarlo.

Diseamos la tabla como muestra la siguiente imagen, no nos olvidemos de la Clave Primaria solo con clic derecho podremos agregarlo.

Damos Clic en Guardar y le asignamos a la tabla el nombre USUARIOS

De igual forma Creamos otra tabla para establecer los privilegios del usuario llamado PRIVILEGIOS y tiene el siguiente diseo:

Para ver como funciona la validadion ingresamo los siguientes registros: Tabla PRIVILEGIOS

Tabla USUARIOS

Para poder ingresar los registros solo tenemo que dar clic derecho en la tabla y elegir la opcion Mostrar Datos de la Tabla

bien hasta aqu solo nos hemos dedicado a la creacin de la Base de Datos, ahora vamos a comenzar crear nuestro formulario de ingreso, por defecto ya visual basic. net nos crea un formulario llamado form1, pasaremos a disearlo como muestra la imagen:

Cambiar la propiedad name de los siguientes controles para un mejor manejo: Formulario = frmingreso boton Ingresar = btningresar Boton Salir = btnsalir Textbox De Ingreso de Usuario = txtusuario Textbox de Ingreso de Password = txtpassword Al terminar crear otro formulario Mdi Con el Siguiente Diseo:

Si No Logras ver bien la imagen solo dele clic a la imagen para ampliarla Bueno listo, voy a explicar como es la logica de este programa: lo que va hacer es mediante el primer formulario consultar a la base de datos si el usuario y Password ingresados son correctos en la tabla USUARIOS, al tener una respuesta correcta se llamara el segundo formulario, tambien validara los privilegios

del usuario, y bloqueara algunas opciones de la barra de menus segun su nivel: Administrador= Mostrara todas las opciones de la barra de menus Mienbro= pondra en enabled o desabilitado el menu Administrador Invitado=desabilitara el menu Administrador y Mienbro Y por ultimo mostrara en la barra de estado el nombre del usuario. De caso contrario si no ingresa un usuario o password correcto solo tendra 3 opciones para poder intentar ingresar. ok ahora vamos a la codificacion: Primero declaramos a nivel de modulo las siguientes variables para ser reconocido por los dos formularios: Module Module1 Public opcion As Integer = 1 Public nivel As String Public usuariov As String End Module Damos Doble clic en el boton Ingresar y en la primera line digitar lo siguiente antes del public class: Imports System.Data.SqlClient Public Class frmingreso ' codigo del boton salir Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsalir.Click Application.Exit() End Sub 'Codigo en el boton Ingresar Private Sub btningresar_Click(ByVal sender As System.Object, ByVal e AsHandles btningresar.Click 'Declaracion de variables para la coneccion, dataadapter,dataset Dim texto As String Dim cn As New SqlConnection Dim da As SqlDataAdapter Dim ds As New DataSet 'Variables usuario y contrasea , se le asigna el valos de las cajas de texto,y la variable activo, para ver si el usuario esta activo o no Dim usuario As String Dim password As String usuario = Me.txtusuario.Text password = Me.txtpassword.Text Dim activo As String 'declaramos la coneccin cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=DataDirectory \BDUSUARIOS.mdf;Integrated

Security=True;User Instance=True" 'Try es para capturar los errores que puedan producirce la ejecucion del proceso Try 'Crea el adaptador de datos, recuperando los datos de la tabla texto = "SELECT * FROM USUARIOS WHERE usuario='" & usuario & "' and password='" & password & "'" 'Abrir la coneccin cn.Open() 'ejecuto la consulta con el data adapter y lo guardo en la variable da da = New SqlDataAdapter(texto, cn) 'Limpia el dataset ds.Clear() 'Llena el Dataset con el data adapter da.Fill(ds, "usuarios") 'Cuenta los registros del datatable si es igual a 0 If ds.Tables("usuarios").Rows.Count() = 0 Then 'Si no existe el usuario o contrasea verifica cuantas veces a intentado ingresar If opcion = 3 Then MessageBox.Show("A Perdido la Oportunidad de Ingresar", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Stop) Me.Close() End If MessageBox.Show("Usuario o Contrasea Incorrecta", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error) Me.txtusuario.Text = "" Me.txtpassword.Text = "" Me.txtusuario.Focus() 'Agrega uno mas a la opcion de ingresar opcion += 1 Else 'ver si el usuario esta activo, busca datos en el datatable activo = ds.Tables("usuarios").Rows(0)(4) If activo <> 1 Then MessageBox.Show("Usuario Inactivo", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information) Else 'pasa los valores del datatable, el usuario y nivel de usuario nivel = ds.Tables("usuarios").Rows(0)(0) usuariov = ds.Tables("usuarios").Rows(0)(2) MessageBox.Show("Bienvenido al sistema", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information) Dim f1 As New frmprincipal Me.Hide() f1.Show() End If End If Catch ex As Exception 'captura si ocurre una error en la operacin MsgBox(ex.ToString) End Try End Sub

End Class bien ya esta la entrada al sistema, ahora vamos a bloquear las opciones segun el nivel de usuario: Public Class frmprincipal Private Sub frmprincipal_FormClosing(ByVal sender As Object, ByVal e AsHandles Me.FormClosing System.Windows.Forms.FormClosingEventArgs) 'al momento de cerrar la ventana cierra toda la aplicacion Application.Exit() End Sub Private Sub frmprincipal_Load(ByVal sender As System.Object, ByVal e As Handles MyBase.Load System.EventArgs) 'Pasa los datos de la variable usuariov a el label de la barra de estado Me.ToolStripStatusLabel1.Text = "USUARIO---->" + usuariov If nivel = 2 Then 'si es mienbro bloquear menu Administrador AdministradorToolStripMenuItem.Enabled = False ElseIf nivel = 3 Then 'si es invitado bloquear el menu Administrador y Mienbro AdministradorToolStripMenuItem.Enabled = False MienbroToolStripMenuItem.Enabled = False Else Exit Sub End If End Sub End Class ok con esto termino este blog , espero que les haya servido, mas adelante estare publicando nuevos manuales para ayudar los estudiantes el manejo de herraminetas de programacion. para alguna duda o consulta = julio_06_20@hotmail.com

Você também pode gostar