Hoy voy a hablar de algo que hace unos meses me llevó de cabeza:
¿Cómo conectar MySql con vb.net 2010?
Como podéis ver he creado un módulo para la rutina de conexión con la base de datos. Estas sub-rutinas las llamaré desde los formularios.
La cadena de conexión es una variable global en la que pongo los valores de la conexión:
Public IdBaseDatos As String = "database=nombre de la base de datos;"
Public IdIpEquipo As String = "localhost;" ó IpdelOrdenador ó nombredelamáquina
Public IdUsuario As String = "Uid=Usuario;"
Public IdPassword As String = "Password=xxxxx;"
Public IdPuerto As String = "Port=3306;"
Public CadenadeConexionMySql As String = IdBaseDatos & IdIpEquipo & IdUsuario & IdPassword & IdBaseDatos & IdPuerto
Imports System.Data.SqlClient
Module BaseDatos
' Mysql
Public cnn As New MySql.Data.MySqlClient.MySqlConnection
Public dt As New DataTable
Public da As New MySql.Data.MySqlClient.MySqlDataAdapter
Public cmd As New MySql.Data.MySqlClient.MySqlCommand
Public GBindingSource As New BindingSource
' abro la conexion
Public Sub ConectarMySql(ByVal CadenaSql As String)
Dim ComandosBasicos As New MySql.Data.MySqlClient.MySqlCommandBuilder(da)
Try
If cnn.State = ConnectionState.Open Then
BaseDatos.CerrarMySql()
End If
cnn.ConnectionString = Variables.CadenadeConexionMySql
cnn.Open()
' creo el comando y lo lleno con la tabla empleados
cmd.Connection = cnn
cmd.CommandText = CadenaSql
cmd.CommandType = CommandType.Text
da.SelectCommand = cmd
'------------------------------------------------------------------------
' añado esta linea porque dt.rows.count mostraba los registros
' de las otras consultas
'------------------------------------------------------------------------
dt = New DataTable
da.Fill(dt)
If InStr(CadenaSql, "*") > 0 Then
da.InsertCommand = ComandosBasicos.GetInsertCommand
da.UpdateCommand = ComandosBasicos.GetUpdateCommand
da.DeleteCommand = ComandosBasicos.GetDeleteCommand
End If
GBindingSource.DataSource = dt
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub GrabarBindingSource()
Try
GBindingSource.EndEdit()
da.Update(dt)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub CerrarMySql()
Try
cnn.Close()
cnn.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
No hay comentarios:
Publicar un comentario