none
Compara un Texbox con una base de datos SQL Server para un login RRS feed

  • Pregunta

  • Saludos estoy haciendo un Login como ejercicio para manipular bases de datos en Visual Studio 2017, tengo tres forms el primero llamdo LOGIN, el segundo LLamado REGISTRO y el tercero PROYECTO, la idea es que en el form LOGIN llenes la casilla usuario y contraseña si dicho usuario y contraseña existe te lleva al form PROYECTO si no existe te diga un mensaje "Usuariono Registrado" y debes apretar el boton Registrar para ir al form REGISTRO y registrar dicho usuario para poder acceder el en LOGIN al form PROYECTO, hasta ahora en el form REGISTRO he logrado insertar, eliminar, editar, buscar a la base de datos sin problemas pero en el form LOGIN  no he logrado que en el Txt_Usuario.Text y Txt_contraseña.Text al introducir los datos me diga si existe o no el usuario, cada vez que uso el bendito DataRead y lo he hecho miles de ves me dice que la conexión esta cerrada aqui dejo mi codigo en orden estoy muy urgido me gusta hacer solo mis cosas pero jay momentos que realmente debemos admitir cuando no podemos con algo por mas sencillo que sea, espero poder contar con su ayuda muchas gracias de antemano

    CODIGO FORM REGISTRO

    Public Class REGISTRO
        Private Sub Users_SistemasBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles Users_SistemasBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.Users_SistemasBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.REG_USUARIO_SISTDataSet)

        End Sub

        Private Sub REGISTRO_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: esta línea de código carga datos en la tabla 'REG_USUARIO_SISTDataSet.Users_Sistemas' Puede moverla o quitarla según sea necesario.
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Insertar_Click(sender As Object, e As EventArgs) Handles Btn_Insertar.Click
            Me.Users_SistemasTableAdapter.INSERTAR(IDTextBox.Text, NOMBRE_APELLIDOTextBox.Text, USUARIOTextBox.Text, CONTRASEÑATextBox.Text, CORREOTextBox.Text)
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Eliminar_Click(sender As Object, e As EventArgs) Handles Btn_Eliminar.Click
            Me.Users_SistemasTableAdapter.ELIMINAR(IDTextBox.Text)
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Actualizar_Click(sender As Object, e As EventArgs) Handles Btn_Actualizar.Click
            Me.Users_SistemasTableAdapter.ACTUALIZAR(IDTextBox.Text, NOMBRE_APELLIDOTextBox.Text, USUARIOTextBox.Text, CONTRASEÑATextBox.Text, CORREOTextBox.Text)
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Buscar_Click(sender As Object, e As EventArgs) Handles Btn_Buscar.Click
            Me.Users_SistemasTableAdapter.FillBy(Me.REG_USUARIO_SISTDataSet.Users_Sistemas, IDTextBox.Text)
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Login_Click(sender As Object, e As EventArgs) Handles Btn_Login.Click
            LOGIN.Show()
            Me.Hide()

        End Sub
    End Class

    CODIGO FORM LOGIN

    Imports System.Data
    Imports System.Data.SqlClient

    Public Class LOGIN

        Public conexion As SqlClient.SqlConnection

        Private Sub Users_SistemasBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
            Me.Validate()
            Me.Users_SistemasBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.REG_USUARIO_SISTDataSet)

        End Sub

        Private Sub LOGIN_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: esta línea de código carga datos en la tabla 'REG_USUARIO_SISTDataSet.Users_Sistemas' Puede moverla o quitarla según sea necesario.
            Me.Users_SistemasTableAdapter.Fill(Me.REG_USUARIO_SISTDataSet.Users_Sistemas)

        End Sub

        Private Sub Btn_Registrar_Click(sender As Object, e As EventArgs) Handles Btn_Registrar.Click
            REGISTRO.Show()
            Me.Hide()

        End Sub

        Private Sub Btn_Ingresar_Click(sender As Object, e As EventArgs) Handles Btn_Ingresar.Click

            If Txt_Usuario.Text =    And Txt_Contraseña.Text =     Then
                PROYECTO.Show()
                Me.Hide()
            Else

                MsgBox("Por Favor Registrese", MsgBoxStyle.Exclamation, "Acceso Denegado")

            End If


        End Sub


        




    End Class

    jueves, 30 de noviembre de 2017 12:42

Respuestas

  • Falta código para determinar el error, aquí pones:

     Public conexion As SqlClient.SqlConnection

    pero dónde estableces la cadena de conexión? el SqlCommand y la consulta?.

    Por lo general ese error es porque abrís la conexión con conexion.open() y no la cierras con conexion.close(), necesito ver el código completo de la cadena de conexión.

      If Txt_Usuario.Text =    And Txt_Contraseña.Text =     Then 

    Esto está incompleto, con que comparás los textbox?

    Te adjunto un ejemplo de como hacer un login usando datatables y sqlconnection:

    Ejemplo

    Espero te sirva, comentá. Saludos.-

    jueves, 30 de noviembre de 2017 14:27