Fijate que si se puede usar un dataset para conectarte a mysql yo lo hize esta semana
, lo primero que tenes que hacer es bajarte el mysql connector par .Net de aqui
http://www.mysql.com/products/connector/net/
DEspues lo instalas y toda la onda y abris el proyecto con el que estas trabajando y le das en:
Proyecto-Agregar Referencia-Examinar ahora buscas la dll que por defecto esta en C:\Archivos de programa\MySql\Mysql Connector NET 1.0.8\Binaries
Aqui te van a salir dos carpetas .NET 1.1 y la .NET 2.0, si estas trabajando con el vs 2003 agrega el 1.1, si estas con el vs 2005 agrega el 2.0
al abrir esa carpeta esta la dll que tenes que agregar se llama MySql.Data.dll
ya agregaste la referencia al proyecto, ahora hay que importar las clases
pone esto al pricipio del codigo
Imports mysql.Data.MySqlClient
Imports mysql.Data.Common
vaya ahora he visto que en tu codigo la funcion que queres hacer estandar no tenes que declarar el adapter SqlDataAdapter porque ese es para sql server, el dataset si ya lo podes declarar como dataset normalito ese no varia.
la coneccion y el adapter los tenes que declarar de esta forma
Private WithEvents __cnx As MySqlConnection
Public Adapter As MySqlDataAdapter
Private dbDataSet As New DataSet
Tambien podes declarar un commanbuilder si queres actualizar, agregar y eliminar datos desde el adapter asi
Public Shared Cmd As MySqlCommandBuilder
Ahora para abrir la conexion lo haces de la siguiente forma
Try
__cnx = New MySqlConnection
__cnx.ConnectionString = _
"Database=" & mDatabase & ";" & _
"Data Source=" & mServer & ";" & _
"Port=" & mPort & ";" & _
"User Id=" & mUser & ";" & _
"Password=" & mPass
__cnx.Open()
Catch MyEx As MySqlException
msgbox(MyEx.message)
End Try
tomando en cuenta que mDataBase, MServer y todas esas son variables va, a server le podes poner localhost, a port 3306 y a user root, la contraseña depende si le pusiste..
vaya ahora tu funcion quedaria algo asi
Private Function SQLRunWITHQuery(ByVal Script As String)
'*********************
Try
dbDataSet = New MySqlDataAdapter(Script, __cnx)
Cmd = New MySqlCommandBuilder(dbDataSet)
dbDataAdapter.Fill(dbDataSet, NombreTabla)
Catch ex As Exception
msgbox(ex.message)
End Try
'********************
End Function
yo te recomiendo que hagas el MySqlCommanBuilder tambien porque asi el solo hace las sentencias de update, delete y insert cuando la consulta es a una sola tabla y despues podes hacer estos cambios poniendo dataset.update(ds,tabla) igualito como en sql server..
Espero que me haya explicado bien porque lo he hecho de la forma mas ordenada que he podido para que me entendas y si he sido bastante especifico en los pasos es porque asi quisiera encontrar las cosas siempre
en vez de andar buscando en varios lados..
Si no me di enteder en algo preguntame, espero y te sirva.