Acceso Nativo a MySQL Server Con VB

8

description

conexion de vb net con mysql

Transcript of Acceso Nativo a MySQL Server Con VB

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 1/8

    InicioBuscarContactarDescargasEnciclopediaEstadsticasForosManuales,ArtculosNuestrahistoriaPolticadeCookiesQuinessomosRecomindanosTemasTop10TrucosDelphi,PHP,Java,VisualStudioTucuenta

    Cdigousuario(nick)

    Contrasea

    Iniciarsesin

    Nuevousuario

    English

    Anuncios

    MySQL:AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetMostramosalgunasdelasventajaseinconvenientesdeusaraccesonativoamotoresdebasesdedatosdesdeaplicacionesVisualBasic.Net.ExplicamoslosrequisitosnecesariosparadesarrollarunaaplicacinenVisualBasic.Net2010queaccedaaunservidordeMySQLServerdeformanativa,sinintermediarios(niODBC,niOLEDB).ListamoselcdigofuentedelaaplicacinAjpdSoftAccesonativoMySQLVB.Net

    AccesonativovsAccesoODBCenMySQL.Ventajasdeusaraccesonativoamotoresdebasesdedatos.Inconvenientesdeusaraccesonativoamotoresdebasesdedatos.ConclusinaccesonativovsODBCOLEDB.

    RequisitosparadesarrollaraplicacinconaccesoaMySQLnativousandoVisualBasic.NetydriverConnector/Net.DesarrollaraplicacinVB.NetconaccesonativoaMySQLServermedianteConnector/Net.LaaplicacinAjpdSoftAccesonativoMySQLVB.Netenfuncionamiento.QusenecesitaenelequipoclienteparaejecutarunaaplicacinVB.NetconaccesonativoaMySQLServer.CdigofuentecompletoaplicacinAjpdSoftAccesonativoMySQLVB.Net.Artculosrelacionados.Crditos.

    AccesonativovsAccesoODBC/OLEDBenMySQLExistenvariosmtodosparaconexindeunaaplicacinaunmotordebasesdedatos.Estosmtodospuedenvariarenfuncindemuchosvalorescomoelsistemaoperativo,elmotordebasededatosoel lenguajedeprogramacinusadoparadesarrollarlaaplicacin.AcontinuacinexponemosalgunasdelasventajasydesventajasdeusaraccesonativoyaccesoODBCuOLEDB.

    Ventajasdeusaraccesonativoamotoresdebasesdedatos

    Engeneral,usarelaccesonativoaunmotordebasesdedatosmejoraelrendimiento,puestoquelaconexinentrenuestraaplicacinyelmotordebasededatosesdirectaynonecesitadeintermediarios.

    Otraventajadeusaraccesonativo,normalmente,esqueseevitatenerqueinstalarsoftwaredeterceros,puesnormalmenteusaremosunalibreraproporcionadaporelmotordebasededatosqueserlaquecontengalasclasesoAPInecesariaparaelaccesoalmotor.Encambio,siusramosaccesoODBCuotrononativo(OLEDB),talvezserequieradelainstalacindesoftwareadicional.Porejemplo,paraelcasodeaccesonativoaBasic.NetyeldriverConnector/Net,unavezcompiladoygeneradoelejecutabledenuestraaplicacin,slonecesitarelficheromysql.data.dllenlacarpetadelejecutableparaelaccesoaMySQLServer

    El acceso nativo a losmotores de basesdedatos suele sermuy usado para desarrollar aplicaciones conmotores embebidos que no requieren de ningn tipo de instalacin, de forma que el usuario realiza la descarga de nuestraaplicacinynonecesitade instalacionesadicionales,es suficiente conejecutarel ficherode laaplicacin.Muchosde losmotoresactualesdebasesdedatos incluyenunaversinembebidade subasededatos,queno requieredeinstalacinenunservidor.

    Otradelasventajasdeusaraccesonativoaunmotordebasededatosdesdenuestraaplicacinesquepodemosusartodaslascaractersitcasespecficasdelmotor,loqueaumentarlasposibilidadesdenuestraaplicacin.

    Inconvenientesdeusaraccesonativoamotoresdebasesdedatos

    Elprincipal inconvenienteesque laaplicacinquedesarrollemosconaccesonativoalmotordebasededatos,porejemploaMySQL,nosobligarausarsiempreesemotordebasesdedatosmotordebasededatosdistintodeldrivernativousadoparalaconexin.SiusamosConnector/NetdeMySQLServerparaaccesonativo,nuestraaplicacinnopodrusarotrosmotorescomoOracleServer.Porlotantoharemosdependientelaaplicacindelmotordebasededatos.

    Porlotantoperderemoslaversatilidaddedesarrollarunaaplicacinqueseaindependientedelmotordebasededatos,porloquerestringiremosconsiderablementeleusodelaaplicacin.

    ConclusinaccesonativovsODBCOLEDB

    Elusaraccesonativouotrotipodeaccesoaunmotordebasesdedatosdependerdelasfuncionalidadesycaractersticasdelaaplicacinquequeramosdesarrollar,ascomodelusoydistribucinqueselequieradarasta.

    Porejemplo,sivamosadesarrollarunaaplicacinamedidaparaunaempresaquesiemprehausadoelmotordebasesdedatosMySQLServerynohayprevisindecambio,talvezsearecomendableusaraccesonativo,mejorandoelrendimiento.Encambio,siqueremosdesarrollarunaaplicacinestndarparaquesirvaalmayornmerodeusuariosposible,paradistribuirlaennuestrositioweb,serarecomendableusaraccesononativo(laaplicacinindependientedelmotordebasededatosusadoypermitiralusuarioelegirelquemsseajusteasusnecesidades.

    Endefinitiva,elaccesonativomejoraelrendimientoperolimitalaaplicacinaunmotordebasededatosconcreto.Esrecomendablequeeldesarrolladorconozcaalaperfeccintantolosdistintosmtodosdeconexinparaelmotordebasededatoselegidocomolasnecesidadesdelaempresaousuariosfinalesdelaaplicacin.Unavezadquiridosestosconocimientospodrelegirelmtodoquemejorseadaptealasnecesidades.

    RequisitosparadesarrollaraplicacinconaccesoaMySQLnativousandoVisualBasic.NetydriverConnector/NetAcontinuacin indicamos los requisitosnecesariosparadesarrollarunaaplicacin,usandoel IDEdedesarrolloMicrosoftVisualBasic .Net,queaccedade formanativa (directa sin intermediarios)almotordebasededatosgratuitoMySQLServer.

    SuitededesarrolloMicrosoftVisualStudio.Net2010:enelsiguienteenlaceexplicamoscmoinstalaresteentornodedesarrollodeaplicaciones.Net:

    InstalarVisualStudio2010ydesarrollaraplicacinconaccesoaPostgreSQL

    DriverConnector/NetdeMySQL:necesitaremoslaslibrerasproporcionadasporMySQLparaaccesonativodesde.Net,disponiblesenelsitioweboficialdeMySQL,enlaURL:

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

    Ennuestrocasodescargaremoslaversin6.4.3ylaplataforma(SelectPlatform)".NET&Mono":

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 2/8

    Laventanade".NET&Mono"esquenorequieredeinstalacin,descargaremosunficherocomprimidoquedescomprimiremos:

    ServidorconMySQLServer:necesitaremos,obviamente,unequipoconelmotordebasededatosMySQLinstaladoyfuncionando.EnlossiguientesenlacesmostramosalgunosejemplossobrecmomontarunservidordeMySQLServerenvariossistemasoperativos:

    CmoinstalarMySQLServerenWindowsXP.CmoinstalarMySQLServer6.0AlphaenWindowsXP.InstalaryconfigurarMySQLServer5enLinuxSuse10.CmoinstalarMySQLServerenLinuxypermitirconexionesremotas.InstalaryconfigurarMySQLServer5enLinuxSuse10.

    DesarrollaraplicacinVB.NetconaccesonativoaMySQLServermedianteConnector/NetParacrearunaaplicacinenMicrosoftVisualBasic.Net2010conaccesonativoaMySQLServer,pulsaremosenelmen"Archivo""Nuevoproyecto":

    En "Plantillas instaladas"desplegaremos "VisualBasic"y seleccionaremos "Windows".En lapartederecha, seleccionaremos .NetFramework4y "AplicacindeWindowsForms".En laparte inferior introduciremoselnombreparaelnuevoproyectoVB.Net,porejemplo"AjpdSoftAccesoNativoMySQLVB":

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 3/8

    Deberemos aadir una referencia a MySQL Connector/Net, para ello en el "Explorador de soluciones" (o bien desde el men "Proyecto" "Agregar referencia") pulsaremos con el botn derecho del ratn sobre la solucin yseleccionaremos"Agregarreferencia":

    Seleccionaremoslapestaa"Examinar"ybuscaremoselfichero"mysql.data.dll"dentrodelacarpeta"v4"deladescargadeldriverConnector/NetdeMySQL.Seleccionaremoselfichero"mysql.data.dll"ypulsaremos"Aceptar":

    Pulsandoenlapestaadevercdigofuentedelformularioprincipal(oconlateclaF7),desdeelcdigofuente,alprincipio,aadiremoselsiguienteimport:

    ImportsMySQL.Data.MySqlClient

    ConestospasostendremosdisponibleelAPIparaaccesonativoaMySQLServerdesdeVisualBasic.Net.

    Aadiremosloscomponentesvisualesynovisualesalformularioprincipaldelaaplicacin:

    TextBox:paraintroducirelservidordeMySQLServer,elpuerto,elusuario,lacontrasea.ComboBox:desplegabledondesemostrarnlosesquemasobasesdedatosdelservidorMySQLServeralquenoshemosconectado.TextBoxconMultiline=True:paraintroducirconsultaSQLqueseejecutar.RadioButton:paraelegirentreconsultaSQLquedevuelveregistros(SELECT)oconsultaSQLquenodevuelveregistros(INSERT,DELETE,UPDATE,DROP,CREATE,ALTER).Button:paraconectarconservidor,paraabrirbasededatosyparaejecutarlaconsultaSQLintroducida.DataGridView:paramostrarlosregistrosresultantesdeunaconsultaSQLL.StatusStrip:barradeestadoparamostraralgunosdatosadicionales(nmerodetablasdelabasededatoselegida,nmeroderegistrosdelaconsultaSQLejecutada,usuario,servidorybasededatosalaqueestamosconectados.ToolTip:paramostrarcuadrodeayudarpidadeloselementosdelformulario.

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 4/8

    Acontinuacinmostramoselcdigofuentemsimportantedelaaplicacin:

    PorunladodeclararemosunavariabledetipoMySqlConnectionalprincipiodelaclasedelformulario.SerlaquecontengalaconexinconelservidorMySQLServeryserusadaenlosdistintosmtodosquerequierandeconexin:

    FriendconexionAsMySqlConnection

    FuncinconectarServidorMySQLparaconectarconunservidorMySQLServerdeformanativa,estafuncinusarlavariabledeclaradaalprincipiodelaclase,llamadaconexion,lainicializarcon"NewMySqlConnection"yestablecerlosvaloresdeconexincon"ConnectionString".Unavezestablecidosrealizarlaconexinconelmtodo"Open":

    PrivateSubconectarServidorMySQL()Tryconexion=NewMySqlConnection()conexion.ConnectionString="server="&txtServidor.Text&";"&"userid="&txtUsuario.Text&";"&"password="&txtContrasena.Text&";"&"port="&txtPuerto.Text&";"&"database="&lsBD.Text&";"conexion.Open()IflsBD.Text""ThenbePanelNumTablas.Text=CStr(numeroTablas())EndIfbePanel2.Text="Conectadoaservidor"&txtServidor.TextCatchexAsExceptionMsgBox("ErroralconectaralservidorMySQL"&vbCrLf&vbCrLf&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndSub

    FuncinnumeroRegistrosConsultaqueobtieneelnmeroderegistrosdeunaconsultadadaenunavariabledetipoMySqlDataReader.PasndolecomoparmetrounMySqlDataReaderregistros:

    PrivateFunctionnumeroRegistrosConsulta(_ByValdrAsMySqlDataReader)AsIntegerDimnumeroRegistrosAsInteger=0DoWhiledr.ReadnumeroRegistros=numeroRegistros+1LoopnumeroRegistrosConsulta=numeroRegistrosEndFunction

    FuncinnumeroTablasqueobtieneelnmerodetablasdeunesquema(basededatos)deMySQLServer,usandolaconsultaSQL"SHOWTABLES".EstafuncinusalaclaseMySqlCommandparacomponerelcomandoSQL"SHOWTABLES"ylaclase"MySqlDataReader"paraguardarelresultadodelaejecucindelaconsultaSQLcon"ExecuteReader".Enel"MySqlDataReader"quedaralmacenadoelresultadodelaconsultaSQL.ParaobtenerelnmerodetablasusaremoslafuncinanteriornumeroRegistrosConsulta:

    PrivateFunctionnumeroTablas()AsIntegerDimconsultaSQLAsMySqlCommand=NewMySqlCommand("showtables",conexion)DimdrAsMySqlDataReader=consultaSQL.ExecuteReader()numeroTablas=numeroRegistrosConsulta(dr)dr.Close()EndFunction

    Elbotn"btConectar"tendrelsiguientecdigoenelevento"Click":

    PrivateSubbtConectar_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtConectar.ClickconectarServidorMySQL()

    DimlistaAsList(OfString)DimiAsInteger

    lsBD.Items.Clear()

    IflsBD.Text""ThenbePanelNumTablas.Text="|Ntablas:"&CStr(numeroTablas())EndIf

    lista=esquemasMySQL()Fori=0Tolista.Count1lsBD.Items.Add(lista.Item(i).ToString)Next

    EndSub

    Elbotn"btUsarEsquema"ensueventoClicktendrelsiguientecdigo:

    PrivateSubbtUsarEsquema_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtUsarEsquema.ClickIflsBD.Text""ThenTryIfconexion.State=ConnectionState.OpenThenconexion.Close()EndIf

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 5/8

    conexion.ConnectionString="server="&txtServidor.Text&";"&"userid="&txtUsuario.Text&";"&"password="&txtContrasena.Text&";"&"port="&txtPuerto.Text&";"&"database="&lsBD.Text&";"conexion.Open()IflsBD.Text""ThenbePanelNumTablas.Text="|Ntablas:"&CStr(numeroTablas())EndIfbePanel2.Text="Conectado|"&txtServidor.Text&"@"&lsBD.Text&"@"&txtUsuario.TextCatchexAsExceptionMsgBox("ErroralconectaralservidorMySQL"&vbCrLf&vbCrLf&ex.Message)EndTryElseMsgBox("Debeseleccionarelesquema"&"(basededatos)ausar.",MsgBoxStyle.OkOnly+MsgBoxStyle.Information)lsBD.Focus()EndIfEndSub

    Elbotn"btEjecutar"tendrelsiguientecdigoensuevento"Click":

    PrivateSubbtEjecutar_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtEjecutar.ClickDimconsultaSQLAsMySqlCommand=NewMySqlCommand(txtSQL.Text,conexion)

    'ConsultaSQLquedevuelveregistros(SELECT)IfopDatos.CheckedThenDimdsAsDataSet=NewDataSet()DimDataAdapter1AsMySqlDataAdapter=NewMySqlDataAdapter()

    TryDataAdapter1.SelectCommand=consultaSQLDataAdapter1.Fill(ds,"Tabla")DataGridView1.DataSource=dsDataGridView1.DataMember="Tabla"

    bePanelNumRegistros.Text="|Nregistros:"&CStr(ds.Tables(0).Rows.Count)CatchexAsMySqlExceptionMsgBox("ErroralejecutarconsultaSQL:"&vbCrLf&vbCrLf&ex.ErrorCode&""&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndIf

    'ConsultaSQLquenodevuelveregistros'(INSERT,DELETE,UPDATE,CREATE,DROP)IfopNoDatos.CheckedThenDimnumRegistrosAfectadosAsIntegerDimcomandoSQLAsNewMySqlCommandTrycomandoSQL.Connection=conexioncomandoSQL.CommandText=txtSQL.TextnumRegistrosAfectados=comandoSQL.ExecuteNonQuery()bePanelNumRegistros.Text="|Nregistrosafectados:"&CStr(numRegistrosAfectados)MsgBox("ConsultaSQLejecutadacorrectamenteen"&"servidorMySQL.Nmeroderegistrosafectados:"&CInt(numRegistrosAfectados),MsgBoxStyle.OkOnly+MsgBoxStyle.Information)CatchexAsMySqlExceptionMsgBox("ErroralejecutarconsultaSQL:"&vbCrLf&vbCrLf&ex.ErrorCode&""&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndIfEndSub

    Enestecdigomostramoscmoejecutarunaconsultaquenodevuelvedatos(detipoINSERT,CREATE,DROP,DELETE,UPDATE):

    DimnumRegistrosAfectadosAsIntegerDimcomandoSQLAsNewMySqlCommandTrycomandoSQL.Connection=conexioncomandoSQL.CommandText=txtSQL.TextnumRegistrosAfectados=comandoSQL.ExecuteNonQuery()bePanelNumRegistros.Text="|Nregistrosafectados:"&CStr(numRegistrosAfectados)

    ElcdigoparaejecutarunaconsultaSQLquesdevuelveregistros(SELECT)yque,adems,enlazamosconuncomponentevisualparamostrarelresultadoalusuarioenunDataGridView:

    DimdsAsDataSet=NewDataSet()DimDataAdapter1AsMySqlDataAdapter=NewMySqlDataAdapter()

    TryDataAdapter1.SelectCommand=consultaSQLDataAdapter1.Fill(ds,"Tabla")DataGridView1.DataSource=dsDataGridView1.DataMember="Tabla"

    LaaplicacinAjpdSoftAccesonativoMySQLVB.NetenfuncionamientoElfuncionamientodeAjpdSoftAccesonativoMySQLVB.Netesbastantesencillo,ejecutandolaaplicacin,introduciremoslossiguientesdatos:

    Servidor:nombredered(hostname)odireccinIPdelservidordeMySQLServer.Puerto:puertodeconexinconelservidordeMySQLServer,pordefecto3306.

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 6/8

    Usuario:nombredeusuariodeMySQLServerconpermisossuficientesparalastareasquequeramosrealizar.Contrasea:contraseadelusuarioanterior.

    Unavez introducidos losdatosanteriorespulsaremosenelbotn"Conectarconservidor"paraestablecer laconexinnativaconelserviordeMySQLServer indicado. Laaplicacinobtendr losesquemas (basesdedatos)a losquetengaaccesoelusuarioespecificado,paratrabarununabasededatoslaseleccionaremoseneldesplegablede"Usarelesquema(BD)"ypulsaremoselbotn"Usarelesquema".

    Una vez conectados al servidor, introduciremos cualquier consultaSQL (INSERT,DELETE,UPDATE, CREATE,DROP, SELECT),marcaremos el check correspondiente, si la consulta devuelve registros (SELECT) semarcar "Devuelvedatos" ,encasocontrariosemarcar"Nodevuelvedatos".Pulsaremoselbotn"Ejecutar"paraenviar laconsultaSQLalservidordeMySQLServer.Si laconsultadevuelve registros losmostrarelelgriddeabajo.SinodevuelveregistroslaaplicacinmostrarunmensajeconelnmeroderegistrosafectadosporlaconsultaSQL:

    QusenecesitaenelequipoclienteparaejecutarunaaplicacinVB.NetconaccesonativoaMySQLServerParadistribuirnuestraaplicacinsinnecesidaddeinstalador,enelequipodondeserejecutadanecesitaremos:

    ElejecutabledelaaplicacincompiladoenVisualBasic.Net.Elficheromysql.data.dlldescargadoconelMySQLConnector/NetLaversin.NetFrameworkusadaparaelproyecto:podremosdescargarMicrosoft.NetFrameworkdesde:

    http://www.microsoft.com/downloads/eses/details.aspx?FamilyID=9cfb2d515ff44491b0e5b386f32c0992

    (laURLpuedevariar)

    Con estos dos ficheros (ejecutable y dll) y el Microsoft .Net Framework descargado he instalado, podremos utilizar la aplicacin, por ejemplo, en un equipo con Microsoft Windows XP, sin realizar ninguna instalacin (salvo .NetFramework):

    CdigofuentecompletoaplicacinAjpdSoftAccesonativoMySQLVB.NetAcontinuacinmostramoselcdigofuente(sourcecode)completodelaaplicacindeejemploAjpdSoftAccesonativoMySQLVB.Net:

    ImportsMySql.Data.MySqlClient

    PublicClassformAccesoNativoMySQL

    FriendconexionAsMySqlConnection

    PrivateFunctionnumeroRegistrosConsulta(_ByValdrAsMySqlDataReader)AsIntegerDimnumeroRegistrosAsInteger=0DoWhiledr.ReadnumeroRegistros=numeroRegistros+1LoopnumeroRegistrosConsulta=numeroRegistrosEndFunction

    PrivateFunctionnumeroTablas()AsIntegerDimconsultaSQLAsMySqlCommand=NewMySqlCommand("showtables",conexion)DimdrAsMySqlDataReader=consultaSQL.ExecuteReader()numeroTablas=numeroRegistrosConsulta(dr)dr.Close()EndFunction

    PrivateFunctionesquemasMySQL()AsList(OfString)DimlistaEsquemasAsList(OfString)

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 7/8

    listaEsquemas=NewList(OfString)

    DimconsultaSQLAsMySqlCommand=NewMySqlCommand("SHOWDATABASES",conexion)

    DimdrAsMySqlDataReader=consultaSQL.ExecuteReaderDoWhiledr.ReadlistaEsquemas.Add(dr.Item("Database"))LoopesquemasMySQL=listaEsquemasEndFunction

    PrivateSubconectarServidorMySQL()Tryconexion=NewMySqlConnection()conexion.ConnectionString="server="&txtServidor.Text&";"&"userid="&txtUsuario.Text&";"&"password="&txtContrasena.Text&";"&"port="&txtPuerto.Text&";"&"database="&lsBD.Text&";"conexion.Open()IflsBD.Text""ThenbePanelNumTablas.Text=CStr(numeroTablas())EndIfbePanel2.Text="Conectadoaservidor"&txtServidor.TextCatchexAsExceptionMsgBox("ErroralconectaralservidorMySQL"&vbCrLf&vbCrLf&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndSub

    PrivateSubbtConectar_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtConectar.ClickconectarServidorMySQL()

    DimlistaAsList(OfString)DimiAsInteger

    lsBD.Items.Clear()

    IflsBD.Text""ThenbePanelNumTablas.Text="|Ntablas:"&CStr(numeroTablas())EndIf

    lista=esquemasMySQL()Fori=0Tolista.Count1lsBD.Items.Add(lista.Item(i).ToString)Next

    EndSub

    PrivateSubbtEjecutar_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtEjecutar.ClickDimconsultaSQLAsMySqlCommand=NewMySqlCommand(txtSQL.Text,conexion)

    'ConsultaSQLquedevuelveregistros(SELECT)IfopDatos.CheckedThenDimdsAsDataSet=NewDataSet()DimDataAdapter1AsMySqlDataAdapter=NewMySqlDataAdapter()

    TryDataAdapter1.SelectCommand=consultaSQLDataAdapter1.Fill(ds,"Tabla")DataGridView1.DataSource=dsDataGridView1.DataMember="Tabla"

    bePanelNumRegistros.Text="|Nregistros:"&CStr(ds.Tables(0).Rows.Count)CatchexAsMySqlExceptionMsgBox("ErroralejecutarconsultaSQL:"&vbCrLf&vbCrLf&ex.ErrorCode&""&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndIf

    'ConsultaSQLquenodevuelveregistros'(INSERT,DELETE,UPDATE,CREATE,DROP)IfopNoDatos.CheckedThenDimnumRegistrosAfectadosAsIntegerDimcomandoSQLAsNewMySqlCommandTrycomandoSQL.Connection=conexioncomandoSQL.CommandText=txtSQL.TextnumRegistrosAfectados=comandoSQL.ExecuteNonQuery()bePanelNumRegistros.Text="|Nregistrosafectados:"&CStr(numRegistrosAfectados)MsgBox("ConsultaSQLejecutadacorrectamenteen"&"servidorMySQL.Nmeroderegistrosafectados:"&CInt(numRegistrosAfectados),MsgBoxStyle.OkOnly+MsgBoxStyle.Information)CatchexAsMySqlExceptionMsgBox("ErroralejecutarconsultaSQL:"&vbCrLf&vbCrLf&ex.ErrorCode&""&ex.Message,MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)EndTryEndIfEndSub

    PrivateSubbtUsarEsquema_Click(senderAsSystem.Object,eAsSystem.EventArgs)HandlesbtUsarEsquema.ClickIflsBD.Text""ThenTryIfconexion.State=ConnectionState.OpenThenconexion.Close()EndIf

    conexion.ConnectionString="server="&txtServidor.Text&";"&"userid="&txtUsuario.Text&";"&"password="&txtContrasena.Text&";"&"port="&txtPuerto.Text&";"&"database="&lsBD.Text&";"conexion.Open()

    Estawebutiliza'cookies'propiasydeterceros.Alnavegarpornuestrawebentendemosqueaceptaselusoquehacemosdeellas.Msinformacin. Aceptar

    Polticadecookies

  • 5/5/2015 AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

    http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=565 8/8

    IflsBD.Text""ThenbePanelNumTablas.Text="|Ntablas:"&CStr(numeroTablas())EndIfbePanel2.Text="Conectado|"&txtServidor.Text&"@"&lsBD.Text&"@"&txtUsuario.TextCatchexAsExceptionMsgBox("ErroralconectaralservidorMySQL"&vbCrLf&vbCrLf&ex.Message)EndTryElseMsgBox("Debeseleccionarelesquema"&"(basededatos)ausar.",MsgBoxStyle.OkOnly+MsgBoxStyle.Information)lsBD.Focus()EndIfEndSubEndClass

    ArtculosrelacionadosAjpdSoftAccesonativoMySQLVB.Net.AjpdSoftEnvoSMSVB.Net.InsertareventodeGoogleCalendarconVisualBasic.NetyGoogleDataAPI.AjpdSoftInsertarEventoGoogleCalendarVB.Net.CrearprocesoensegundoplanoconbarradeprogresoenVisualBasic.NetVB.Net.InstalarVisualStudio2010ydesarrollaraplicacinconaccesoaPostgreSQL.ElcontroldeerroresenVisualBasic.Net.AccesoaMySQLmedianteVisualBasic.NetyODBC.AccesoaOraclemedianteMicrosoftVisualBasic,RDOyODBC.InsertaryextraerdocumentosenunatablaOracleconVisualBasic6.CambiarmarcadoresdeWordporvaloresdelformulariodeunaaplicacin.ExportarListViewaficheroCSVVB.Net.FuncinparareemplazarunacadenadetextodentrodeotraVisualBasic.FuncionesparaleeryescribirenficherosINIVB.Net.CambiarmarcadoresdeWordporvaloresdelformulariodeunaaplicacinconVisualBasic6.AjpdSoftEnvoEMailSSLVB.Net.AjpdSoftConexinBDVisualBasic.Net.TiposdedatosenMySQLServer.CmoinstalarMySQLServerenWindowsXP.CmoinstalarMySQLServer6.0AlphaenWindowsXP.InstalaryconfigurarMySQLServer5enLinuxSuse10.CmoinstalarMySQLServerenLinuxypermitirconexionesremotas.InstalaryconfigurarMySQLServer5enLinuxSuse10.ExportarunatablaMicrosoftAccessaMySQL.Artculos,manualesytrucosdelProyectoAjpdSoftsobreMicrosoftVisualStudio.TodoslosprogramasconcdigofuenteenVisualBasic.ForodelProyectoAjpdSoftsobreVisualBasic,VisualStudio.Net,VB.Net.FuncionesVisualBasic.FormularioiniciosesinenDelphiyMySQL,validarusuarioenLDAP.CmoinsertarficherosenuncampodeunatablaMySQLconDelphi.

    CrditosArtculorealizadontegramenteporAlonsojpdmiembrofundadordelProyectoAjpdSoft.

    Anuncios

    EnviadoelSunday,28Augustalas15:48:06porajpdsoft

    EstesitiowebNOCONTIENEmalware,todoslosprogramasconcdigofuenteaqu.Autor:AlonsoJavierPrezDazGoogle+SguenosenGoogle+