Iniciando programacion en VB.net 2013 y MySQL. Error en conexion mediante modulo

Soy programador de hace años en VFP, pero por necesidad de actualización de mis aplicaciones quiero retomar la programación en VB tal como lo hacíamos en la U. Ya tengo la version de VB.Net 2013, monte el conector .net MySQL y el xampp. Tengo un usuario root con clave 1234. Buscando información en la red quisiera trabajar la conexión como en VFP que se usaba un prg con los datos de conexión y se llama en cada conexión. En este caso con VB.Net leí que se utilizan módulos. Ya agregue la referencia y cree el modulo para conexión. La programación del modulo es la siguiente:
Imports MySql. Data. MySqlClient
Module modconectar
    Public conn As New MySqlConnection
    Public Sub Conectar()
        Try
            conn.ConnectionString = "Server=localhost;Uid=bdpruebas;Pwd=1234;Database=prueba"
                conn.Open()
                MsgBox("Conexion exitosa")
        Catch myerror As Exception
            MsgBox("Error al conectar")
            End
        End Try
    End Sub
    Public Sub Desconectar()
        Try
            conn.Close()
        Catch myerror As MySql.Data.MySqlClient.MySqlException
        End Try
    End Sub
End Module
Además tengo un formulario de prueba con 2 text (tc1 y tc2) con el que al darle click me guarde los datos en la BD. La programación es la siguiente:
Imports MySql.Data.MySqlClient
Public Class acceso
    Private Sub boton_Click(sender As Object, e As EventArgs) Handles boton.Click
        Try
            conn.Open()
    Dim comando As New MySqlCommand("insert into 'prueba' (c1,c2) values ('& tc1.text &,& tc2.text &')")
            comando.ExecuteNonQuery()
            conn.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
            conn.Close()
        End Try
    End Sub
End Class
El error que me sale al intentar guardar es el siguiente: Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'localhost' (using password: NO)
Aparentemente no toma el modulo modconectar con los datos de conexión o no se, ¿me podrían ayudar? En la U programe en VB6 con access, esto es relativamente algo nuevo para mi, si pueden revisar mi código seria excelente.

2 Respuestas

Respuesta
1

Creo que tu cadena de conexión esta mal revísala y validala en www.connectionstrings.com

Además, debes utilizar una clase mas que un modulo, revisa una arquitectura de N-Capas, en donde creas un proyecto tipo librerías de clases y allí colocas la clase o clase de conexión y manejo de bases de datos MySql o la que utilices, otra librería de clases donde se haga referencia a la librería que se conecta al motor de base de datos, y en esta librería creas clases que tengan las diferentes sentencias sql o llamados a stored procedures de tu base de datos y que esta librería se comunique con el proyecto de UI y le pase los datos.

Respuesta

for user ''@'localhost' (using password: NO) <- Seguro que tiene contraseña Root ???

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas