Hola. Estoy intentando conectar mi proyecto de Visual Basic a la base de datos MySQL usando xampp. Descargué un vbconnector SQL de este sitio web

programación


Estoy intentando conectar mi proyecto de Visual Basic a la base de datos MySQL usando xampp. Descargué un vbconnector SQL de este sitio web https://dev.mysql.com/downloads/connector/net/
pero cuando intento depurar mi proyecto, cada comando de MySQL lee un error y si vuelvo a agregar la referencia de MySQL, todos los errores desaparecen, pero luego, si vuelvo a depurar, ocurre el mismo problema de depuración.

Lo que he probado:

Imports MySql.Data.MySqlClient
Imports System.IO
Module databaseconn
    Public conn As MySqlConnection
    Public dr As MySqlDataReader
    Public flag As Boolean
    Public dt As DataTable
    Public da As MySqlDataAdapter
    Public i As Integer
    Public ds As DataSet
    Public cmd As MySqlCommand
    Public result As Boolean

    Public Function dbconn() As Boolean
        Try
            If conn.State = ConnectionState.Closed Then
                conn.ConnectionString = "server=localhost;username=root;password=;database=database"
                result = True
            End If
        Catch ex As Exception
            result = False
            MsgBox(ex.Message)

        End Try
        Return result
    End Function
End Module

Solución 1

Ese código no hace nada con la base de datos, por lo que es difícil determinar cuál podría ser su problema. Todo lo que hace el código es establecer una cadena de conexiones (a la que volveré más adelante) y nada más: la conexión no se puede utilizar y, de todos modos, se está manejando mal.

Cuando hace una pregunta, debe incluir información relevante: “cuando intento depurar mi proyecto, cada comando de MySQL lee un error” no le dice nada a nadie porque no podemos ver el código que hace nada con un objeto Comando, ni decir qué pueden ser los mensajes de error.
Los mensajes de error contienen una gran cantidad de información si los lee con atención: desde qué línea de qué archivo mostró el problema hasta una descripción del problema encontrado. Así que empieza aquí: Cómo escribir código para resolver un problema, una guía para principiantes, parte 2: errores de sintaxis[^] – habla de errores de sintaxis, pero los errores de tiempo de ejecución tienden a tener la misma información presentada de forma un poco diferente.

También hay un buen artículo aquí: Hacer preguntas es una habilidad[^] que explica cómo hacer una pregunta para obtener una respuesta útil.

Volviendo al código que muestra, hay tres problemas que puedo ver allí:
1) Su contraseña para una base de datos multiusuario nunca debe estar en blanco, ni debe usarse el nombre de administrador predeterminado; hacerlo permite a cualquiera que quiera hacer cualquier cosa con su base de datos: robarla, codificarla para pedir un rescate o destruirla, por ejemplo. Establezca una contraseña buena y segura en una cuenta de administrador cuyo nombre haya cambiado y estará más seguro.
2) No codifique cadenas de conexión en su código: significa que cuando lo publique, tendrá que cambiarlo para el servidor de producción (o, peor aún, probarlo con el servidor de producción, lo cual es suicida) y publicar efectivamente código no probado. Errores como ese pueden afectar gravemente a los clientes y afectar negativamente su reputación y saldo bancario… Utilice un archivo de configuración para contener la cadena de conexión de modo que no sea necesario cambiar el código cuando lo libere.
3) No reutilice una única conexión a la base de datos: créela cuando necesite una dentro de una Using bloquee y el sistema lo cerrará y lo eliminará cuando haya terminado con él. Estas conexiones no solo son recursos escasos, sino que también pueden causarle problemas reales si abre un DataReader en una conexión y luego intenta reutilizar la misma conexión para INSERTAR o ACTUALIZAR una tabla: el servidor arrojará un error porque el lector todavía está usando el conexión.

コメント

タイトルとURLをコピーしました