martes, 8 de octubre de 2013

Establecer conexión entre MySQL y .NET (Ejemplo VB)

MySQL ? con .NET ?

¿Para qué voy a saber cómo conectar MySQL con .NET si éste está diseñado para trabajar mejor con SQL Server?

Bueno pueden googlear las ventajas y desventajas de usar un motor de bases de datos u otro. Pero en el momento en que le digas al cliente el costo extra por el motor de BD (En caso que no lo tuviera) creeme que apoyará el software libre y te dirá algo como: "Mi base de datos no es muy grande, usa el pequeño MySQL".

Bueno en todo caso, les voy a dejar la clase que uso para establecer la conexión….
Ah pero antes necesitan instalar las librerías del mysql para .NET en:


Bien, también tendrán que agregarle la referencia:




Ahora sí, les dejaré mi clase (la cual no es exactamente oh que prodigio!, pero sirve):

Imports MySql.Data.MySqlClient
Imports Model
Public Class Conexion
    Public coneccion As MySql.Data.MySqlClient.MySqlConnection
    Public comando As MySql.Data.MySqlClient.MySqlCommand
    Public data As System.Data.DataSet
    Public adaptador As MySql.Data.MySqlClient.MySqlDataAdapter
    Public conectado As Boolean = False
    Public Sub New()
        coneccion = New MySql.Data.MySqlClient.MySqlConnection
        adaptador = New MySql.Data.MySqlClient.MySqlDataAdapter
        comando = New MySql.Data.MySqlClient.MySqlCommand
        data = New System.Data.DataSet
        adaptador.DeleteCommand = Nothing
        adaptador.InsertCommand = Nothing
        adaptador.SelectCommand = Nothing
        adaptador.UpdateCommand = Nothing
        comando.Connection = Nothing
        comando.Transaction = Nothing
        data.DataSetName = "El Dataset"
        Try
            coneccion.ConnectionString = "server=localhost;user=root;database=salesforge;port=3306;password=1234;"
            coneccion.Open()
            comando.Connection = coneccion
            conectado = True
        Catch ex As Exception
            MsgBox("No se puede conectar a la base de datos : " + ex.Message)
            conectado = False
        End Try
    End Sub
    Public Function consulta(ByVal q As String) as DataSet
        Try
            data.Tables.Clear()
            data.Clear()
            comando.CommandText = q
            adaptador.SelectCommand = comando
            adaptador.Fill(data)
        Catch ex As Exception
            MsgBox("Error en consulta: " + q)
        End Try
        return data
    End Sub
    Function ejecuta(ByVal q As String) As Boolean
        Try
            comando.CommandText = q
            Return comando.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox("Error al ejecutar: " + q + "," + ex.Message)
            Return False
        End Try
    End Function
End Class

No hay comentarios:

Publicar un comentario