• Jueves 28 de Marzo de 2024, 15:34

Autor Tema:  Acceso a usuarios.  (Leído 1447 veces)

elultimoguerrero

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Acceso a usuarios.
« en: Viernes 18 de Septiembre de 2009, 04:27 »
0
Hola amigos, espero me puedan ayudar con la siguente duda que tengo, estoy haciendo una aplicación en la cual al ejecutar un sistema me pide el nombre de usuario y contraseña para poder acceder al sistema, ya tengo lo que son los registros de usuarios, lo que no se hacer es que cuando yo agregue otro usuario y este sea de igual nombre a otro usuario registrado me diga con un mensaje que ese nombre ya está ocupado, también algo que he observado es que cuando yo ingreso el nombre de usuario y la contraseña en el acceso de usuarios no respeta mayúsculas ó minúsculas con las que fueron registrados, acepta combinación de ambas y eso no debería de ser, utilizo visual basic 2005 edición express y mysql este es mi código:

Imports MySql.Data.MySqlClient
Imports System.Data

Public Class accesoausuarios
    Dim con As New MySqlConnection()
    Dim da As New MySqlDataAdapter()
    Dim ds As New DataSet()

    Private Sub bvalidar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bvalidar.Click
        con = New MySqlConnection("server=xxx;database=xxx;uid=xxx;pwd=xxx;")
        da = New MySqlDataAdapter("select Usuario, Contrasena from registrodeusuarios where Usuario = '" & tusuario.Text & "' and Contrasena = '" & tcontrasena.Text & "'", con)
        da.Fill(ds, "registrodeusuarios")
        If ds.Tables("registrodeusuarios").Rows.Count > 0 Then
            Dim fvideohome As New videohome
            fvideohome.Show()
            Me.Hide()
        Else
            MsgBox("Verifique el nombre de usuario y la contraseña.", MsgBoxStyle.Information, "Operación cancelada.")
        End If
    End Sub

    Private Sub bcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcancelar.Click
        End
    End Sub

    Private Sub tusuario_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tusuario.KeyPress
        'Al presionar la tecla enter nos posiciona en la siguiente caja de texto.
        If Asc(e.KeyChar) = 13 Then
            e.Handled = True
            SendKeys.Send("{tab}")
        End If
    End Sub
End Class

Espero me puedan ayudar ya que lo hé intentado mucho y no encuentro mucha ayuda en la red con lo que es mysql y visual basic, se los agradeceré mucho.

dlplenin

  • Miembro activo
  • **
  • Mensajes: 44
  • Nacionalidad: ec
    • Ver Perfil
Re: Acceso a usuarios.
« Respuesta #1 en: Viernes 18 de Septiembre de 2009, 06:59 »
0
hola,

nos encontrasmos nuevamente


mira con la palabra BINARY de lo q se (recien estoy empezando con mysql) se puede hacer un select con "case sensitive"

ej:

select * from `registrodeusuarios` where Usuario  = BINARY 'juan'

no es igual que: (por la letra mayuscula "J"uan)

select * from `registrodeusuarios` where Usuario  = BINARY 'Juan'


saludos

elultimoguerrero

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Acceso a usuarios.
« Respuesta #2 en: Miércoles 23 de Septiembre de 2009, 01:48 »
0
Hola compañeros del foro, mil disculpas ya que no me había podido conectar al foro por cuestiones de trabajo y no haber respondido a la ayuda que ustedes me han brindado, hace unos minutos, después de haber batallado y comparado códigos encontré la solución al problemita que tenía y aquí con mucho gusto la comparto con ustedes, el código si cambia un buen en cuanto a las órdenes dadas ya que se agregaron variables y demás, espero los comparen y los comprueben para que puedan entender su funcionamiento, seguimos colaborando con el foro, saludos.

Imports MySql.Data.MySqlClient
Imports System.Data

Public Class accesoausuarios
    Dim con As New MySqlConnection()
    Dim da As New MySqlDataAdapter()
    Dim ds As New DataSet()
    Dim dr As DataRow
    Dim dt As DataTable

    Private Sub bvalidar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bvalidar.Click
        con = New MySqlConnection("server=xxx;database=xxx;uid=xxx;pwd=xxx;")
        da = New MySqlDataAdapter("select Usuario, Contrasena from registrodeusuarios where Usuario = '" & tusuario.Text & "' and Contrasena = '" & tcontrasena.Text & "'", con)
        da.Fill(ds, "registrodeusuarios")
        Me.dt = Me.ds.Tables("registrodeusuarios")
        For Each Me.dr In Me.dt.Rows
            If tusuario.Text = Me.dr("Usuario") And tcontrasena.Text = Me.dr("Contrasena") Then
                Dim fvideohome As New videohome
                fvideohome.Show()
                Me.Hide()
            Else
                MsgBox("Verifique el nombre de usuario y la contraseña.", MsgBoxStyle.Information, "Operación cancelada.")
            End If
        Next
    End Sub

    Private Sub bcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcancelar.Click
        End
    End Sub

    Private Sub tusuario_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tusuario.KeyPress
        If Asc(e.KeyChar) = 13 Then
            e.Handled = True
            SendKeys.Send("{tab}")
        End If
    End Sub
End Class