Sunteți pe pagina 1din 8

5/5/2015

Inicio
Buscar
Contactar
Descargas
Enciclopedia
Estadsticas
Foros
Manuales,
Artculos
Nuestrahistoria
Polticade
Cookies
Quinessomos
Recomindanos
Temas
Top10

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

Anuncios

MySQL:AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNet

MostramosalgunasdelasventajaseinconvenientesdeusaraccesonativoamotoresdebasesdedatosdesdeaplicacionesVisualBasic.Net.Explicamoslosrequisitosnecesariosparadesarrollarunaaplica
VisualBasic.Net2010queaccedaaunservidordeMySQLServerdeformanativa,sinintermediarios(niODBC,niOLEDB).ListamoselcdigofuentedelaaplicacinAjpdSoftAccesonativoMySQLVB.N

AccesonativovsAccesoODBCenMySQL.
Ventajasdeusaraccesonativoamotoresdebasesdedatos.
Inconvenientesdeusaraccesonativoamotoresdebasesdedatos.
ConclusinaccesonativovsODBCOLEDB.
RequisitosparadesarrollaraplicacinconaccesoaMySQLnativousandoVisualBasic.NetydriverConnector/Net.
DesarrollaraplicacinVB.NetconaccesonativoaMySQLServermedianteConnector/Net.
LaaplicacinAjpdSoftAccesonativoMySQLVB.Netenfuncionamiento.
QusenecesitaenelequipoclienteparaejecutarunaaplicacinVB.NetconaccesonativoaMySQLServer.
CdigofuentecompletoaplicacinAjpdSoftAccesonativoMySQLVB.Net.
Artculosrelacionados.
Crditos.

TrucosDelphi,
PHP,Java,Visual
Studio
Tucuenta

Cdigousuario
(nick)
Contrasea

Iniciarsesin
Nuevousuario

AccesonativovsAccesoODBC/OLEDBenMySQL

Existenvariosmtodosparaconexindeunaaplicacinaunmotordebasesdedatos.Estosmtodospuedenvariarenfuncindemuchosvalorescomoelsistemaoperativo,elmotordebasededatos
usadoparadesarrollarlaaplicacin.AcontinuacinexponemosalgunasdelasventajasydesventajasdeusaraccesonativoyaccesoODBCuOLEDB.

English

Ventajasdeusaraccesonativoamotoresdebasesdedatos
Engeneral,usarelaccesonativoaunmotordebasesdedatosmejoraelrendimiento,puestoquelaconexinentrenuestraaplicacinyelmotordebasededatosesdirectaynonecesitadeintermedi

Otraventajadeusaraccesonativo,normalmente,esqueseevitatenerqueinstalarsoftwaredeterceros,puesnormalmenteusaremosunalibreraproporcionadaporelmotordebasededatosqueserl
necesariaparaelaccesoalmotor.Encambio,siusramosaccesoODBCuotrononativo(OLEDB),talvezserequieradelainstalacindesoftwareadicional.Porejemplo,paraelcasodeaccesonativo
Basic.NetyeldriverConnector/Net,unavezcompiladoygeneradoelejecutabledenuestraaplicacin,slonecesitarelficheromysql.data.dllenlacarpetadelejecutableparaelaccesoaMySQLServer

El acceso nativo a los motores de bases de datos suele ser muy usado para desarrollar aplicaciones con motores embebidos que no requieren de ningn tipo de instalacin, de forma que el usuario
aplicacin y no necesita de instalaciones adicionales, es suficiente con ejecutar el fichero de la aplicacin. Muchos de los motores actuales de bases de datos incluyen una versin embebida de su base
instalacinenunservidor.

Otradelasventajasdeusaraccesonativoaunmotordebasededatosdesdenuestraaplicacinesquepodemosusartodaslascaractersitcasespecficasdelmotor,loqueaumentarlasposibilidadesde

Inconvenientesdeusaraccesonativoamotoresdebasesdedatos
El principal inconveniente es que la aplicacin que desarrollemos con acceso nativo al motor de base de datos, por ejemplo a MySQL, nos obligar a usar siempre ese motor de basesdedatos
motordebasededatosdistintodeldrivernativousadoparalaconexin.SiusamosConnector/NetdeMySQLServerparaaccesonativo,nuestraaplicacinnopodrusarotrosmotorescomoOracle
Server.Porlotantoharemosdependientelaaplicacindelmotordebasededatos.
Porlotantoperderemoslaversatilidaddedesarrollarunaaplicacinqueseaindependientedelmotordebasededatos,porloquerestringiremosconsiderablementeleusodelaaplicacin.

ConclusinaccesonativovsODBCOLEDB

Elusaraccesonativouotrotipodeaccesoaunmotordebasesdedatosdependerdelasfuncionalidadesycaractersticasdelaaplicacinquequeramosdesarrollar,ascomodelusoydistribucinquese

Porejemplo,sivamosadesarrollarunaaplicacinamedidaparaunaempresaquesiemprehausadoelmotordebasesdedatosMySQLServerynohayprevisindecambio,talvezsearecomendableus
rendimiento.Encambio,siqueremosdesarrollarunaaplicacinestndarparaquesirvaalmayornmerodeusuariosposible,paradistribuirlaennuestrositioweb,serarecomendableusaraccesononativ
laaplicacinindependientedelmotordebasededatosusadoypermitiralusuarioelegirelquemsseajusteasusnecesidades.

Endefinitiva,elaccesonativomejoraelrendimientoperolimitalaaplicacinaunmotordebasededatosconcreto.Esrecomendablequeeldesarrolladorconozcaalaperfeccintantolosdistintosmto
debasededatoselegidocomolasnecesidadesdelaempresaousuariosfinalesdelaaplicacin.Unavezadquiridosestosconocimientospodrelegirelmtodoquemejorseadaptealasnecesidades.

RequisitosparadesarrollaraplicacinconaccesoaMySQLnativousandoVisualBasic.NetydriverConnector/Net

A continuacin indicamos los requisitos necesarios para desarrollar una aplicacin, usando el IDE de desarrollo Microsoft Visual Basic .Net, que acceda de forma nativa (directa sin intermediarios) al m
MySQLServer.
SuitededesarrolloMicrosoftVisualStudio.Net2010:enelsiguienteenlaceexplicamoscmoinstalaresteentornodedesarrollodeaplicaciones.Net:
InstalarVisualStudio2010ydesarrollaraplicacinconaccesoaPostgreSQL
DriverConnector/NetdeMySQL:necesitaremoslaslibrerasproporcionadasporMySQLparaaccesonativodesde.Net,disponiblesenelsitioweboficialdeMySQL,enlaURL:
http://dev.mysql.com/downloads/connector/net
Ennuestrocasodescargaremoslaversin6.4.3ylaplataforma(SelectPlatform)".NET&Mono":

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

1/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

Laventanade".NET&Mono"esquenorequieredeinstalacin,descargaremosunficherocomprimidoquedescomprimiremos:

ServidorconMySQLServer:necesitaremos,obviamente,unequipoconelmotordebasededatosMySQLinstaladoyfuncionando.Enlossiguientesenlacesmostramosalgunosejemplossobrec
MySQLServerenvariossistemasoperativos:
CmoinstalarMySQLServerenWindowsXP.
CmoinstalarMySQLServer6.0AlphaenWindowsXP.
InstalaryconfigurarMySQLServer5enLinuxSuse10.
CmoinstalarMySQLServerenLinuxypermitirconexionesremotas.
InstalaryconfigurarMySQLServer5enLinuxSuse10.

DesarrollaraplicacinVB.NetconaccesonativoaMySQLServermedianteConnector/Net
ParacrearunaaplicacinenMicrosoftVisualBasic.Net2010conaccesonativoaMySQLServer,pulsaremosenelmen"Archivo""Nuevoproyecto":

En "Plantillas instaladas" desplegaremos "Visual Basic" y seleccionaremos "Windows". En la parte derecha, seleccionaremos .Net Framework 4 y "Aplicacin de Windows Forms". En la parte inferior int
nuevoproyectoVB.Net,porejemplo"AjpdSoftAccesoNativoMySQLVB":

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

2/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

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
seleccionaremos"Agregarreferencia":

Seleccionaremoslapestaa"Examinar"ybuscaremoselfichero"mysql.data.dll"dentrodelacarpeta"v4"deladescargadeldriverConnector/NetdeMySQL.Seleccionaremoselfichero"mysql.data.dll"y

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,servidorybasede
conectados.
ToolTip:paramostrarcuadrodeayudarpidadeloselementosdelformulario.

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

3/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft

Acontinuacinmostramoselcdigofuentemsimportantedelaaplicacin:

PorunladodeclararemosunavariabledetipoMySqlConnectionalprincipiodelaclasedelformulario.SerlaquecontengalaconexinconelservidorMySQLServeryserusadaenlosdistintosm
conexin:
FriendconexionAsMySqlConnection

FuncinconectarServidorMySQLparaconectarconunservidorMySQLServerdeformanativa,estafuncinusarlavariabledeclaradaalprincipiodelaclase,llamadaconexion,lainicializarco
establecerlosvaloresdeconexincon"ConnectionString".Unavezestablecidosrealizarlaconexinconelmtodo"Open":
PrivateSubconectarServidorMySQL()
Try
conexion=NewMySqlConnection()
conexion.ConnectionString=
"server="&txtServidor.Text&";"&
"userid="&txtUsuario.Text&";"&
"password="&txtContrasena.Text&";"&
"port="&txtPuerto.Text&";"&
"database="&lsBD.Text&";"
conexion.Open()
IflsBD.Text<>""Then
bePanelNumTablas.Text=CStr(numeroTablas())
EndIf
bePanel2.Text="Conectadoaservidor"&
txtServidor.Text
CatchexAsException
MsgBox("ErroralconectaralservidorMySQL"&
vbCrLf&vbCrLf&ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndSub

FuncinnumeroRegistrosConsultaqueobtieneelnmeroderegistrosdeunaconsultadadaenunavariabledetipoMySqlDataReader.PasndolecomoparmetrounMySqlDataReader
registros:
PrivateFunctionnumeroRegistrosConsulta(_
ByValdrAsMySqlDataReader)AsInteger
DimnumeroRegistrosAsInteger=0
DoWhiledr.Read
numeroRegistros=numeroRegistros+1
Loop
numeroRegistrosConsulta=numeroRegistros
EndFunction

FuncinnumeroTablasqueobtieneelnmerodetablasdeunesquema(basededatos)deMySQLServer,usandolaconsultaSQL"SHOWTABLES".EstafuncinusalaclaseMySqlCommandpar
"SHOWTABLES"ylaclase"MySqlDataReader"paraguardarelresultadodelaejecucindelaconsultaSQLcon"ExecuteReader".Enel"MySqlDataReader"quedaralmacenadoelresultadodela
nmerodetablasusaremoslafuncinanteriornumeroRegistrosConsulta:
PrivateFunctionnumeroTablas()AsInteger
DimconsultaSQLAsMySqlCommand=
NewMySqlCommand("showtables",conexion)
DimdrAsMySqlDataReader=consultaSQL.ExecuteReader()
numeroTablas=numeroRegistrosConsulta(dr)
dr.Close()
EndFunction

Elbotn"btConectar"tendrelsiguientecdigoenelevento"Click":
PrivateSubbtConectar_Click(senderAsSystem.Object,
eAsSystem.EventArgs)HandlesbtConectar.Click
conectarServidorMySQL()
DimlistaAsList(OfString)
DimiAsInteger
lsBD.Items.Clear()
IflsBD.Text<>""Then
bePanelNumTablas.Text=
"|Ntablas:"&CStr(numeroTablas())
EndIf
lista=esquemasMySQL()
Fori=0Tolista.Count1
lsBD.Items.Add(lista.Item(i).ToString)
Next
EndSub
Elbotn"btUsarEsquema"ensueventoClicktendrelsiguientecdigo:
PrivateSubbtUsarEsquema_Click(senderAsSystem.Object,
eAsSystem.EventArgs)HandlesbtUsarEsquema.Click
IflsBD.Text<>""Then
Try
Ifconexion.State=ConnectionState.OpenThen
conexion.Close()
EndIf

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

4/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft
conexion.ConnectionString=
"server="&txtServidor.Text&";"&
"userid="&txtUsuario.Text&";"&
"password="&txtContrasena.Text&";"&
"port="&txtPuerto.Text&";"&
"database="&lsBD.Text&";"
conexion.Open()
IflsBD.Text<>""Then
bePanelNumTablas.Text=
"|Ntablas:"&CStr(numeroTablas())
EndIf
bePanel2.Text="Conectado|"&
txtServidor.Text&"@"&
lsBD.Text&"@"&txtUsuario.Text
CatchexAsException
MsgBox("ErroralconectaralservidorMySQL"&
vbCrLf&vbCrLf&ex.Message)
EndTry
Else
MsgBox("Debeseleccionarelesquema"&
"(basededatos)ausar.",
MsgBoxStyle.OkOnly+MsgBoxStyle.Information)
lsBD.Focus()
EndIf
EndSub

Elbotn"btEjecutar"tendrelsiguientecdigoensuevento"Click":
PrivateSubbtEjecutar_Click(senderAsSystem.Object,
eAsSystem.EventArgs)HandlesbtEjecutar.Click
DimconsultaSQLAsMySqlCommand=
NewMySqlCommand(txtSQL.Text,conexion)
'ConsultaSQLquedevuelveregistros(SELECT)
IfopDatos.CheckedThen
DimdsAsDataSet=NewDataSet()
DimDataAdapter1AsMySqlDataAdapter=
NewMySqlDataAdapter()
Try
DataAdapter1.SelectCommand=consultaSQL
DataAdapter1.Fill(ds,"Tabla")
DataGridView1.DataSource=ds
DataGridView1.DataMember="Tabla"
bePanelNumRegistros.Text="|Nregistros:"&
CStr(ds.Tables(0).Rows.Count)
CatchexAsMySqlException
MsgBox("ErroralejecutarconsultaSQL:"&
vbCrLf&vbCrLf&ex.ErrorCode&""&
ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndIf
'ConsultaSQLquenodevuelveregistros
'(INSERT,DELETE,UPDATE,CREATE,DROP)
IfopNoDatos.CheckedThen
DimnumRegistrosAfectadosAsInteger
DimcomandoSQLAsNewMySqlCommand
Try
comandoSQL.Connection=conexion
comandoSQL.CommandText=txtSQL.Text
numRegistrosAfectados=comandoSQL.ExecuteNonQuery()
bePanelNumRegistros.Text="|Nregistrosafectados:"&
CStr(numRegistrosAfectados)
MsgBox("ConsultaSQLejecutadacorrectamenteen"&
"servidorMySQL.Nmeroderegistrosafectados:"&
CInt(numRegistrosAfectados),
MsgBoxStyle.OkOnly+MsgBoxStyle.Information)
CatchexAsMySqlException
MsgBox("ErroralejecutarconsultaSQL:"&
vbCrLf&vbCrLf&ex.ErrorCode&""&
ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndIf
EndSub

Enestecdigomostramoscmoejecutarunaconsultaquenodevuelvedatos(detipoINSERT,CREATE,DROP,DELETE,UPDATE):
DimnumRegistrosAfectadosAsInteger
DimcomandoSQLAsNewMySqlCommand
Try
comandoSQL.Connection=conexion
comandoSQL.CommandText=txtSQL.Text
numRegistrosAfectados=comandoSQL.ExecuteNonQuery()
bePanelNumRegistros.Text="|Nregistrosafectados:"&
CStr(numRegistrosAfectados)

ElcdigoparaejecutarunaconsultaSQLquesdevuelveregistros(SELECT)yque,adems,enlazamosconuncomponentevisualparamostrarelresultadoalusuarioenunDataGridView:
DimdsAsDataSet=NewDataSet()
DimDataAdapter1AsMySqlDataAdapter=
NewMySqlDataAdapter()
Try
DataAdapter1.SelectCommand=consultaSQL
DataAdapter1.Fill(ds,"Tabla")
DataGridView1.DataSource=ds
DataGridView1.DataMember="Tabla"

LaaplicacinAjpdSoftAccesonativoMySQLVB.Netenfuncionamiento
ElfuncionamientodeAjpdSoftAccesonativoMySQLVB.Netesbastantesencillo,ejecutandolaaplicacin,introduciremoslossiguientesdatos:
Servidor:nombredered(hostname)odireccinIPdelservidordeMySQLServer.
Puerto:puertodeconexinconelservidordeMySQLServer,pordefecto3306.

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

5/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft
Usuario:nombredeusuariodeMySQLServerconpermisossuficientesparalastareasquequeramosrealizar.
Contrasea:contraseadelusuarioanterior.

Una vez introducidos los datos anteriores pulsaremos en el botn "Conectar con servidor" para establecer la conexin nativa con el servior de MySQLServer indicado. La aplicacin obtendr los esquem
tengaaccesoelusuarioespecificado,paratrabarununabasededatoslaseleccionaremoseneldesplegablede"Usarelesquema(BD)"ypulsaremoselbotn"Usarelesquema".

Una vez conectados al servidor, introduciremos cualquier consulta SQL (INSERT, DELETE, UPDATE, CREATE, DROP, SELECT), marcaremos el check correspondiente, si la consulta devuelve registros (S
datos" , en caso contrario se marcar "No devuelve datos". Pulsaremos el botn "Ejecutar" para enviar la consultaSQL al servidor de MySQLServer. Si la consulta devuelve registros los mostrar el el
registroslaaplicacinmostrarunmensajeconelnmeroderegistrosafectadosporlaconsultaSQL:

QusenecesitaenelequipoclienteparaejecutarunaaplicacinVB.NetconaccesonativoaMySQLServer
Paradistribuirnuestraaplicacinsinnecesidaddeinstalador,enelequipodondeserejecutadanecesitaremos:
ElejecutabledelaaplicacincompiladoenVisualBasic.Net.
Elficheromysql.data.dlldescargadoconelMySQLConnector/Net
Laversin.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
Framework):

CdigofuentecompletoaplicacinAjpdSoftAccesonativoMySQLVB.Net
Acontinuacinmostramoselcdigofuente(sourcecode)completodelaaplicacindeejemploAjpdSoftAccesonativoMySQLVB.Net:
ImportsMySql.Data.MySqlClient
PublicClassformAccesoNativoMySQL
FriendconexionAsMySqlConnection
PrivateFunctionnumeroRegistrosConsulta(_
ByValdrAsMySqlDataReader)AsInteger
DimnumeroRegistrosAsInteger=0
DoWhiledr.Read
numeroRegistros=numeroRegistros+1
Loop
numeroRegistrosConsulta=numeroRegistros
EndFunction
PrivateFunctionnumeroTablas()AsInteger
DimconsultaSQLAsMySqlCommand=
NewMySqlCommand("showtables",conexion)
DimdrAsMySqlDataReader=consultaSQL.ExecuteReader()
numeroTablas=numeroRegistrosConsulta(dr)
dr.Close()
EndFunction
PrivateFunctionesquemasMySQL()AsList(OfString)
DimlistaEsquemasAsList(OfString)

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

6/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft
listaEsquemas=NewList(OfString)
DimconsultaSQLAsMySqlCommand=
NewMySqlCommand("SHOWDATABASES",conexion)
DimdrAsMySqlDataReader=consultaSQL.ExecuteReader
DoWhiledr.Read
listaEsquemas.Add(dr.Item("Database"))
Loop
esquemasMySQL=listaEsquemas
EndFunction
PrivateSubconectarServidorMySQL()
Try
conexion=NewMySqlConnection()
conexion.ConnectionString=
"server="&txtServidor.Text&";"&
"userid="&txtUsuario.Text&";"&
"password="&txtContrasena.Text&";"&
"port="&txtPuerto.Text&";"&
"database="&lsBD.Text&";"
conexion.Open()
IflsBD.Text<>""Then
bePanelNumTablas.Text=CStr(numeroTablas())
EndIf
bePanel2.Text="Conectadoaservidor"&
txtServidor.Text
CatchexAsException
MsgBox("ErroralconectaralservidorMySQL"&
vbCrLf&vbCrLf&ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndSub
PrivateSubbtConectar_Click(senderAsSystem.Object,
eAsSystem.EventArgs)HandlesbtConectar.Click
conectarServidorMySQL()
DimlistaAsList(OfString)
DimiAsInteger
lsBD.Items.Clear()
IflsBD.Text<>""Then
bePanelNumTablas.Text=
"|Ntablas:"&CStr(numeroTablas())
EndIf
lista=esquemasMySQL()
Fori=0Tolista.Count1
lsBD.Items.Add(lista.Item(i).ToString)
Next
EndSub
PrivateSubbtEjecutar_Click(senderAsSystem.Object,
eAsSystem.EventArgs)HandlesbtEjecutar.Click
DimconsultaSQLAsMySqlCommand=
NewMySqlCommand(txtSQL.Text,conexion)
'ConsultaSQLquedevuelveregistros(SELECT)
IfopDatos.CheckedThen
DimdsAsDataSet=NewDataSet()
DimDataAdapter1AsMySqlDataAdapter=
NewMySqlDataAdapter()
Try
DataAdapter1.SelectCommand=consultaSQL
DataAdapter1.Fill(ds,"Tabla")
DataGridView1.DataSource=ds
DataGridView1.DataMember="Tabla"
bePanelNumRegistros.Text="|Nregistros:"&
CStr(ds.Tables(0).Rows.Count)
CatchexAsMySqlException
MsgBox("ErroralejecutarconsultaSQL:"&
vbCrLf&vbCrLf&ex.ErrorCode&""&
ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndIf
'ConsultaSQLquenodevuelveregistros
'(INSERT,DELETE,UPDATE,CREATE,DROP)
IfopNoDatos.CheckedThen
DimnumRegistrosAfectadosAsInteger
DimcomandoSQLAsNewMySqlCommand
Try
comandoSQL.Connection=conexion
comandoSQL.CommandText=txtSQL.Text
numRegistrosAfectados=comandoSQL.ExecuteNonQuery()
bePanelNumRegistros.Text="|Nregistrosafectados:"&
CStr(numRegistrosAfectados)
MsgBox("ConsultaSQLejecutadacorrectamenteen"&
"servidorMySQL.Nmeroderegistrosafectados:"&
CInt(numRegistrosAfectados),
MsgBoxStyle.OkOnly+MsgBoxStyle.Information)
CatchexAsMySqlException
MsgBox("ErroralejecutarconsultaSQL:"&
vbCrLf&vbCrLf&ex.ErrorCode&""&
ex.Message,
MsgBoxStyle.OkOnly+MsgBoxStyle.Critical)
EndTry
EndIf
EndSub
PrivateSubbtUsarEsquema_Click(senderAsSystem.Object,

eAsSystem.EventArgs)HandlesbtUsarEsquema.Click
Polticadecookies
IflsBD.Text<>""Then
Try

Estawebutiliza'cookies'propiasydeterceros.Alnavegarpornuestrawebentendemos
Ifconexion.State=ConnectionState.OpenThen
conexion.Close()
queaceptaselusoquehacemosdeellas.
Msinformacin. Aceptar
EndIf

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

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

7/8

5/5/2015

AccesonativoaMySQLServerconVB.NetusandoeldriverConnectorNetProyectoAjpdSoft
IflsBD.Text<>""Then
bePanelNumTablas.Text=
"|Ntablas:"&CStr(numeroTablas())
EndIf
bePanel2.Text="Conectado|"&
txtServidor.Text&"@"&
lsBD.Text&"@"&txtUsuario.Text
CatchexAsException
MsgBox("ErroralconectaralservidorMySQL"&
vbCrLf&vbCrLf&ex.Message)
EndTry
Else
MsgBox("Debeseleccionarelesquema"&
"(basededatos)ausar.",
MsgBoxStyle.OkOnly+MsgBoxStyle.Information)
lsBD.Focus()
EndIf
EndSub
EndClass

Artculosrelacionados
AjpdSoftAccesonativoMySQLVB.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.

Crditos
ArtculorealizadontegramenteporAlonsojpdmiembrofundadordelProyectoAjpdSoft.

Anuncios

EnviadoelSunday,28Augustalas15:48:06porajpdsoft
EstesitiowebNOCONTIENEmalware,todoslosprogramasconcdigofuenteaqu.Autor:AlonsoJavierPrezDazGoogle+SguenosenGoogle+

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

8/8

S-ar putea să vă placă și