Llevo durante el día de hoy intentando exportar un sistema de identificación de usuarios de SQL a MySQL.
En SQL me funciona perfectamente pero en MySQL siempre me devuelve que o bien el usuario o la contraseña son incorrectos.
Código:
Yo creo que el fallo debe estar aquí: Imports MySql.Data.MySqlClient Public Class LoginForm3 Private veces As Integer = 0 Private Const NumeroIntentos As Integer = 3 Private cadenaCnn As String = "server=pepito.com;user id=pepito;password=manolito;database=bdd" Private Function comprobarUsuario( _ ByVal nombre As String, _ ByVal clave As String) As Boolean Dim cnn As MySqlConnection = Nothing ' Try cnn = New MySqlConnection(cadenaCnn) cnn.Open() Dim sel As New System.Text.StringBuilder sel.Append("SELECT COUNT(*) FROM administradores ") sel.Append("WHERE Nombre = @Nombre AND Clave = @Clave") Dim cmd As New MySqlCommand(sel.ToString, cnn) cmd.Parameters.Add("@Nombre", MySqlDbType.VarChar, 50) cmd.Parameters.Add("@Clave", MySqlDbType.VarChar, 45) cmd.Parameters("@Nombre").Value = nombre cmd.Parameters("@Clave").Value = clave Dim t As Integer = CInt(cmd.ExecuteScalar()) cnn.Close() If t = 0 Then Return False End If Catch ex As Exception MessageBox.Show("ERROR al conectar a la base de datos: " & vbCrLf & _ ex.Message, "Comprobar usuario", MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) Return False Finally If Not cnn Is Nothing Then cnn.Dispose() End If End Try Return True End Function Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click If comprobarUsuario(Me.UsernameTextBox.Text, Me.PasswordTextBox.Text) Then Form1.Show() Else ' Permitir varios intentos veces = veces + 1 If veces < NumeroIntentos Then Label1.Text = "Quedan " & (NumeroIntentos - veces) & " intentos" Exit Sub End If Me.DialogResult = DialogResult.No End If Hide() End Sub Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click Me.Close() End Sub End Class
Código:
Un saludo y gracias por vuestros consejos sel.Append("SELECT COUNT(*) FROM administradores ") sel.Append("WHERE Nombre = @Nombre AND Clave = @Clave")