domingo, 26 de octubre de 2008

trabajando con mysql y .net

 

logo-mysql

 

no esta mas que decir que trabaja de la misma manera que mssql conector.

 

mysql y .net son excelentes herramientas mysql es rapido y gratis versatil.

para conectar mysql con .net usaremos el conector que probe mysql

http://dev.mysql.com/downloads/connector/net/5.2.html

si usan una version 4.0 de mysql usen la version  1.0 (no da dramas de update usando commanbuilder)

buenos vamos al grano.

1 bajar el conector

2 crear una tabla en mysql (usen ems mysql bajenlo)

http://www.torrentz.com/search?q=ems+mysql hay esta xD tienen que tener licencia para usarlo eso si.

bueno  usaremos el usuario general que es el root y crearemos nuestra cadena de conexion

"Server =localhost; user id=root password=123; database=automoviles;Pooling=false;Connection Lifetime=1; Max Pool Size=1;"

bueno el pooling lo pongo en false ya que mysql aun no soporta multiples sesiones.

(evita el error many conections)

buena ya tenemos nuesta cadena que se conectara a una db que se llama autos el usuario es root y la pas 123

ahora tenemos que agregar mysql.data.dll que biene en el conector si no esta compilenlo.

dejo el 1.1 aqui por si las moscas listo llegar y usar.

http://rapidshare.com/files/157833268/MySql.Data.dll.html

 

bueno empezemos con el codigo

lo primero se importa el system.data y el Imports MySql.Data.MySqlClient

 

que son los espacios que necesitamos

llenaremos un dataset

 

Dim myconexion As New MySqlConnection("Server =localhost; user id=root password=123; database=automoviles;Pooling=false;Connection Lifetime=1; Max Pool Size=1;")
      

Dim micomand As New MySqlCommand("select * from usuarios")

        Dim adapter As New MySqlDataAdapter

        Dim midataset As New DataSet()

 

            myconexion.Open()
            adapter.SelectCommand = micomand
            micomand.Connection = myconexion
            adapter.Fill(midataset,"usuarios")
            myconexion.Close()
          

listo ya tenemos midataset llenado con la tabla

  

 

ahora ejecutaremos un sql en una db

Dim myconexion As New MySqlConnection("Server =localhost; user id=root password=123; database=automoviles;Pooling=false;Connection Lifetime=1; Max Pool Size=1;")

Dim micomand As New MySqlCommand("sql a ejecutar")

 

micomand.Connection = myconexion
        myconexion.Open()
                    micomand.ExecuteScalar()

myconexion.close()

 

bueno eso seria todo

//////////////////

ahora updatiando con mysqlcommanbuilder (avanzado)

pd:mysqlcommandbuilder crea solo los commandos de actualizacion basandose en un dataset previamente cargado.

 

 

Dim adapter As New MySqlDataAdapter

 

dim stringsqlconection="Server =localhost; user id=root password=123; database=automoviles;Pooling=false;Connection Lifetime=1; Max Pool Size=1;")

dim tabla="usuarios"      

 

Dim myconexion As New MySqlConnection(stringsqlconection)
        Dim micomand As New MySqlCommand("select * from " + tabla + " LIMIT 0;")
        micomand.Connection = myconexion
        Dim commandbuilderx As New MySqlCommandBuilder(adapter)
        Dim midataset As New DataSet()

        adapter.SelectCommand = micomand
        Try
            adapter.Fill(midataset, tabla)
            midataset.Tables(tabla).Merge(dat.Tables(tabla))

            myconexion.Open()
            micomand.CommandText = "select * from " + tabla
            adapter.Update(midataset, tabla)
            myconexion.Close()
            myconexion.Dispose()

        Catch ex As Exception
            Return ex.Message.ToString
            myconexion.Close()
            myconexion.Dispose()
        End Try
       

esto es avanxzado asi que traten de entenderlo   xD. saludos.

No hay comentarios: