[ad_1]
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.
[ad_2]
コメント