Foros del Web » Programación para mayores de 30 ;) » .NET »

Conectar visual studio 05 con mysql

Estas en el tema de Conectar visual studio 05 con mysql en el foro de .NET en Foros del Web. Hola a todos. Quiero hacer un programa de contactos (una agenda) y quiero hacer el programa con visual studio 2005 y la base de datos ...

  #1 (permalink)  
Antiguo 08/10/2008, 08:25
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Exclamación Conectar visual studio 05 con mysql

Hola a todos.

Quiero hacer un programa de contactos (una agenda) y quiero hacer el programa con visual studio 2005 y la base de datos con mysql. Mysql lo domino y VS 2005 estoy empezando ahora, aunque se programar en pascal, C y algo de java...

Mi petición es, ¿cómo puedo conectar visual studio con mysql? He estado leyendo algo por internet (muy confuso) y por lo visto hace falta isntalar un driver, me gustaría que me dijeseis cual y de donde lo saco.

Muchas gracias.
  #2 (permalink)  
Antiguo 08/10/2008, 17:26
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Conectar visual studio 05 con mysql

Aca tenes un tutorial muy bueno que explica claramente:
http://www.elguille.info/colabora/pu...e_MySQLNET.htm
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 09/10/2008, 04:55
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

Gracias, espero que valga para 2005 tambien...

¿Hay algún proyecto completo por ahí realizado en VB que me pueda descargar para ver como se utiliza en un formulario?

muchas gracias
  #4 (permalink)  
Antiguo 09/10/2008, 06:09
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Conectar visual studio 05 con mysql

Si. Si revisas el sitio del guille tiene mucho código de ejemplo:
http://www.elguille.info

Acá hay unos 100 ejemplos:

http://msdn.microsoft.com/en-us/vbasic/ms789075.aspx
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #5 (permalink)  
Antiguo 09/10/2008, 07:25
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

gracias en cuanto pueda le echaré un vistazo.
  #6 (permalink)  
Antiguo 09/10/2008, 08:13
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

Se me hace muy dificil la verdad, como en los ejemplos hay mucha paja, no se que es lo estrictamente necesario...

Si alguien es tan amable, me puede escribir solo el código de las funciones básicas y los parámetros que se necesitan? es decir las funciones:

1) conectar con base de datos

2) desconectar de la base de datos

3) hacer una consulta.

Muchísimas gracias.
  #7 (permalink)  
Antiguo 09/10/2008, 17:25
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Conectar visual studio 05 con mysql

Hola

Este es un codigo basico para que te conectes con sqlserver:

Dim myConexion As SqlConnection = New Sqlconnection("cadenadeconexion")
myConexion.Open()
Dim myComando As New SqlCommand()
myComando.Connection = myConexion
myComando.CommandType = CommandType.Text
myComando.CommandText = "Select * from clientes"

algunaGrillaqueTengas.DataSource = myComando.ExcecuteNonQuery()
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #8 (permalink)  
Antiguo 10/10/2008, 08:57
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Hola

Este es un codigo basico para que te conectes con sqlserver:

Dim myConexion As SqlConnection = New Sqlconnection("cadenadeconexion")
myConexion.Open()
Dim myComando As New SqlCommand()
myComando.Connection = myConexion
myComando.CommandType = CommandType.Text
myComando.CommandText = "Select * from clientes"

algunaGrillaqueTengas.DataSource = myComando.ExcecuteNonQuery()
Muchas gracias, lo voy a probar
  #9 (permalink)  
Antiguo 10/10/2008, 09:46
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

Tengo varios problemas con tu código:

1) no se que tengo que poner en "cadenaconexion"

2) me da 1 error: el tipo "sqlConnetion" no está definido.

Te pongo el codigo completo que llevo, muchas gracias por tu paciencia:

Imports System.Data
Imports System.Data.Odbc

Public Class Form1
Public conexionBD As OdbcConnection

Private Sub ButtonConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonConectar.Click
Dim myConexion As SqlConnection= New Sqlconnection("cadenadeconexion")
myConexion.Open()
Dim myComando As New SqlCommand()
myComando.Connection = myConexion
myComando.CommandType = CommandType.Text
myComando.CommandText = "Select * from clientes"

End Sub
End Class
  #10 (permalink)  
Antiguo 12/10/2008, 10:56
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Conectar visual studio 05 con mysql

Alguien me ayuda?
  #11 (permalink)  
Antiguo 13/12/2008, 21:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

cadena de conexion es donde tienes la base de datos mysql
por ejemplo
"server=localhost;user=root;Password=root;database =agenda"
  #12 (permalink)  
Antiguo 13/12/2008, 21:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

espero que te sirva
  #13 (permalink)  
Antiguo 13/12/2008, 23:43
 
Fecha de Ingreso: diciembre-2008
Ubicación: localhost
Mensajes: 232
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Conectar visual studio 05 con mysql

Hola jorgegetafe,

Yo utilizo el conector oficial de MySql para plataforma .NET. Lo puedes descargar directamente desde la página oficial. www.mysql.com, en la parte de conectores.

El código para conectarse quedaría así.

Cita:
Imports MySql.Data.MySqlClient

Public Class FormX

Private MySql_Conexion_String As String = "Server=localhost;" & _
"Database=Base_de_Datos;" & _
"Uid=usuario;" & _
"Pwd=pass;"
Dim MySql_Comandos As MySqlCommand
Dim Mysql_Conexion As MySqlConnection

Private Sub FormX_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


MySql_Conexion = New MySqlConnection() 'Creamos una nueva instancia de conexión
MySql_Conexion.ConnectionString = MySql_Conexion_String 'Le asignamos la cadena de conexión
MySql_Conexion.Open() 'Abrimos la Conexión

MsgBox(MySql_Conexion.State)

MySql_Conexion.Close()

End Sub

End Class


Espero que te sirva de ayuda, si necesitas más ayuda aquí estaremos SALUDOS!

  #14 (permalink)  
Antiguo 22/11/2009, 10:15
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola, he probado tu código pero me da los siguientes errores:

Warning 1 Namespace or type specified in the Imports 'MySql.Data.MySqlClient' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. F:\EjemplosVBasic\pruebas\WindowsApplication1\Wind owsApplication1\Form1.vb 1 9 WindowsApplication1


Error 2 Type 'MySqlCommand' is not defined. F:\EjemplosVBasic\pruebas\WindowsApplication1\Wind owsApplication1\Form1.vb 9 27 WindowsApplication1

Error 3 Type 'MySqlConnection' is not defined. F:\EjemplosVBasic\pruebas\WindowsApplication1\Wind owsApplication1\Form1.vb 10 27 WindowsApplication1

Error 4 Type 'MySqlConnection' is not defined. F:\EjemplosVBasic\pruebas\WindowsApplication1\Wind owsApplication1\Form1.vb 15 30 WindowsApplication1


He instalado el conector y parece que funciona bien, en server explorer me aparece la base de datos con las tablas que contiene, etc. Pero me da esos errores.

Gracias
  #15 (permalink)  
Antiguo 22/11/2009, 10:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Warning 1 Namespace or type specified in the Imports 'MySql.Data.MySqlClient' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases. F:\EjemplosVBasic\pruebas\WindowsApplication1\Wind owsApplication1\Form1.vb 1 9 WindowsApplication1
Ajá... ¿Y descargaste el MySQL Conector.Net para el .Net 2.0? ¿Lo pusiste entre las referencias del proyecto?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 22/11/2009, 10:43
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Descargué MySql Conector ODBC 5.1
Después fui a herramientas administrativas/ ODBC/ Configurar

Configure con los datos de nombre de Host, BD, usuario, password.
En el Visual Studio en Server Explorer me aparece en Data Connections "ODBC.localhost VIA TCP/IP Prueba" donde Prueba es el nombre de la BD.

A partir de aquí ya no sé que más tengo que hacer, el código anterior copiado tal cual me da los errores que ya he posteado. Solución?

Un saludo.
  #17 (permalink)  
Antiguo 22/11/2009, 10:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Descargué MySql Conector ODBC 5.1
Eso es basura. Descargá el que te puse, que es el que corresponde si estás trabajando con .Net.

MySQL Connector .Net
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 22/11/2009, 10:49
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Pues en otros sitios he visto que recomiendan usar esto del ODBC. Puedes explicarme la diferencia o cuando usar uno o usar otro?

Yo voy a trabajar con VisualStudio 2008, para hacer una aplicación de gestión típica, de escritorio con base de datos, esto no sé si es .NET o sólo Visual Basic o cómo se le llama.

Un saludo.
  #19 (permalink)  
Antiguo 22/11/2009, 11:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Pues en otros sitios he visto que recomiendan usar esto del ODBC. Puedes explicarme la diferencia o cuando usar uno o usar otro?
Yo voy a trabajar con VisualStudio 2008, para hacer una aplicación de gestión típica, de escritorio con base de datos, esto no sé si es .NET o sólo Visual Basic o cómo se le llama.
ODBC es una tecnología creada por Microsoft para conectar aplicaciones cliente con fuentes de datos basados en diferentes tecnologías. Los sitios de programación que suelen recomendarlo son habitualmente los basados en Visual basic 6.0, C++ o algunos otros igualmente viejos.
Visual Studio 2003, 2005 y 2008 están basados en .Net, de modo que si estás trabajando con VS2005 y piensas en VS2008, estás trabajando en .Net y te conviene usar librerías que te den acceso al .Net Framework... y eso no es ODBC. Además, el ODBC no tiene acceso a los recursos del CLR, lo que hace que su portabilidad sea limitada.

Te remarco una parte de tu post, porque hay una cosa que debes entender: Si vas a programar aplicaciones de escritorio, debes forzosamente conocer qué es lo que estás por usar (tus herramientas), y sobre qué máquina vas a instalar (el entorno de trabajo), porque todo eso afectará el funcionamiento y las capacidades de lo que hagas.

Yo por experiencia te advierto que ODBC no es recomendable porque, entre otras cosas, no tendrás acceso a los tipos de dato nativos de MySQL, al manejo de formatos de fecha adecuados, a recursos de acceso a la base bajo nivel y muchos otros problemas.
Además, ¿para qué retroceder en lugar de avanzar? El conector .Net de MySQL es mucho más rápido en la misma aplicación que el ODBC con la ventaja adicional de no necesitar la configuración de DSN de ningún tipo, ya que gestiona los recursos por sí mismo.
Originalmente, Microsoft tenía previsto que el ODBC muriera con la aparición del Windows Vista, pero extendió su vida por los requerimientos de los usuarios, pero con Microsoft nunca se sabe. Mañana puede decidir liquidarlo. Lo que no hará es liquidar el .Net, porque es lo que más resultados le ha dado.

Finalmente, y no menos importante: Los códigos que intentas usar requieren si o si el uso del MySQL Connector .Net. No el ODBC...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #20 (permalink)  
Antiguo 22/11/2009, 11:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Ok, gracias por tu explicación, muy detallada.
La verdad es que no tenía nada claro el porqué de usar uno o usar el otro, estoy empezando con .NET y ya se sabe que al principio se dan muchos palos de ciego, pero ahora ya me ha quedado clara la diferencia.

Gracias, un saludo!
  #21 (permalink)  
Antiguo 23/11/2009, 03:22
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola de nuevo,
he descargado el Mysql-Conector-net 6.1.3, lo he instalado.
He creado un proyecto y agregado la referencia en Project/ Add Reference/ Browse
el archivo .DLL que crea al instalar y se encuentra en c:\MYSQL Connector Net 6.1\integration\MySQL. VisualStudio.dll

He copiado y pegado el código tal cual lo ha posteado Yinc en el otro post.
El warning de antes del espacio de nombres ha desaparecido pero sigue dando 3 errores:

Error 1 Type 'MySqlCommand' is not defined. F:\EjemplosVBasic\pruebas\pruebas\pruebas\Form1.vb 9 27 pruebas
Error 2 Type 'MySqlConnection' is not defined. F:\EjemplosVBasic\pruebas\pruebas\pruebas\Form1.vb 10 27 pruebas
Error 3 Type 'MySqlConnection' is not defined. F:\EjemplosVBasic\pruebas\pruebas\pruebas\Form1.vb 15 30 pruebas


Que estoy haciendo mal? La referencia se añade de la forma que he hecho?
Gracias.

Ok, solucionado, tenía que añadir como referencia el archivo Assemblies\MySql.Data.dll

(Estoy intentando borrar este post pero no me aparece la opcion)

Última edición por riestra; 23/11/2009 a las 03:34
  #22 (permalink)  
Antiguo 23/11/2009, 05:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Bueno,menos mal que lo pudiste solucionar.
En general, si bien facilita a veces las cosas, en los hechos, mientras pongas la DLL como referencia en el proyecto, ni siquiera es necesario instalar el conector en Windows. La aplicación se encarga de usar el que tiene.

Bueno, cualquier duda, abre un post nuevo y veremos. yo suelo andar más por MySQL que por aquí, pero trabajo precisamente todo el día en un proyecto que usa ambos: VB.Net y MySQL, así que puedo dar una mano.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #23 (permalink)  
Antiguo 24/11/2009, 05:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola de nuevo,
volviendo al tema de antes, ¿puedes recomendarme algún site con algunos ejemplos o tutoriales de .net con MySql? Insertar registros, modificar etc.
He estado buscando pero veo que no hay demasiado...

Gracias, un saludo!
  #24 (permalink)  
Antiguo 24/11/2009, 08:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Echale una mirada a los ejemplos de este post que le respondí hace tiempo a Gious:http://www.forosdelweb.com/f79/net-c...0/#post3045218

Cualquier duda, tengo más...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #25 (permalink)  
Antiguo 25/11/2009, 06:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola,
he estado mirando la pg que indicaste, me ha sido de mucha utilidad.

Insertar en la BD y recuperar un elemento, ya está controlado, lo que todavía no he pillado muy bien es cuando recupero toda una tabla, como ir accediendo a cada uno de los elementos.
He hecho esto:

Código:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Conexion = New MySqlConnection(ConStr)
        Conexion.Open()
        Dim query As New String("SELECT * FROM `personas` WHERE nombre='javi'")
        Dim oTabla As DataTable = New DataTable

        Sentencias = New MySqlCommand(query, Conexion)
        Adapter = New MySqlDataAdapter(Sentencias)
        Adapter.Fill(oTabla)
       ---- Y ahora??----
    End Sub
No tengo muy claro que tenga que llenar la tabla DataTable, yo lo que quiero es tenerlo en una estructura tipo Array o algo así, donde poder hacer TextBox1.Text=oTabla["apellidos"] o TextBox1.Text=oTabla(1) donde 1 es la posicion que representa a "apellidos".

Bueno creo que más o menos se entiende lo que busco hacer.
Agradezco cualquier ayuda o sugerencia.
Un saludo!
  #26 (permalink)  
Antiguo 25/11/2009, 11:43
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Conectar visual studio 05 con mysql

Si ya llegaste hasta ahí, lo demás es sencillo, tienes que usar la propiedad Rows del DataTable que precisamente es lo que tu quieres, un array.
Si quieres enlazar cada fila a un control lo haces así:
Código vb.net:
Ver original
  1. Me.TextBox1.Text = oTabla.Rows(indice_de_la_fila)("columna1").ToString()
  2. Me.TextBox2.Text = oTabla.Rows(indice_de_la_fila)("columna2").ToString()
  3. '
  4. 'etc
  5. '

Si la instrucción SELECT siempre te devuelve un registro sería mejor usar un SqlDataReader, te dejo ejemplos sobre esto:
Ejm1
Ejm2

Saludos
__________________
Eduardo Peredo
Wigoin
  #27 (permalink)  
Antiguo 26/11/2009, 03:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola,
pues si, ahora si que funciona perfectamente.
Tengo una duda respecto a cuando se destruyen vbles en VB para liberar el espacio asignado, es decir cuales serían las mejores prácticas.

En mi Form, tengo una clase y dentro 2 eventos de botón. Uno hace consultas y otro inserta registros (así para simplificar la pregunta).

Y Variables del tipo:
Private Conexion As MySqlConnectionn
Private Adapter As MySqlDataAdapter
Private Sentencias As MySqlCommand

Hasta ahora yo las variables comunes de este tipo que uso en los accesos a BD, las tenía declaradas en la clase, luego en cada evento de botón hacía los new, y antes de finalizar el evento las asignaba a nothing para liberar memoria

También Conexión la estaba creando, abriendo y cerrando en cada evento, de la forma:

Código:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Conexion = New MySqlConnection(ConStr)
        Conexion.Open()
 '**** Codigo ****'
       Conexion.Cloe()
       Conexion=nothing
       Adapter=nothing
       Sentencias=nothing
 End Sub

Creeis que debo definirlas en la clase y luego hacer los new en cada evento de botón y al terminar asignar a nothing o debería definirlas dentro de cada evento de botón con nombres diferentes en cada evento es decir:
Conexion1, Adapter1, Sentencias1 para Button5_Click y Conexion2, Adapter2, Sentencias2 para el otro

Es correcto lo de = nothing para liberar el espacio o se hace de alguna otra manera?

Gracias, un saludo!
  #28 (permalink)  
Antiguo 26/11/2009, 05:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Creeis que debo definirlas en la clase y luego hacer los new en cada evento de botón y al terminar asignar a nothing o debería definirlas dentro de cada evento de botón con nombres diferentes en cada evento es decir:
Conexion1, Adapter1, Sentencias1 para Button5_Click y Conexion2, Adapter2, Sentencias2 para el otro
Yo personalmente prefiero crear una clase exclusivamente para manejar toda la relación con la BB.DD., incluyendo la creación de las conexiones.
Sobre este punto mis recomendaciones mínimas son:

1. Usa una sola conexión por sesión de usuario. Abrir y cerrar conexiones satura rápidamente el pool de conexiones de Windows y eventualmente se agotará. Lamentablemente no tienes mucho control sobre él, de modo que cuando se satura sólo queda esperar un tiempo hasta que se limpia de conexiones muertas.

2. Si usas DataReaders, cuando los dejes de usar, primero ciérralos y luego elimínalos. Un DataReader sin cerrar y sin liberar es una conexión de lectura más abierta.

3. En lugar de declara simplemente Nothing una conexión solamente, destruye el objeto que la contiene. El Nothing sólo no libera bien los recursos, y la conexión persiste en el pool.

4. Como el objeto MysqlCommand depende de la conexión, si destruyes el objeto Connection, el Command se queda sin recursos. No molesta, pero no está de más liberarlo.

5. Usa un sólo objeto Mysql por tipo en la clase (rara vez necesitas más de eso), y reusalos.

6. No generes objetos conexión de clase indiscriminadamente. No sirven más que para complicar el código. Si necesitas abrir una segunda conexión, hazlo en un método, de modo que una vez terminado el método el objeto muera. Lo mismo vale para el resto de los objetos.

7. La liberación de memoria, o su limpeiza puede ser reafirmada por medio de algunos métodos. Este te sugiero ponerlo en el módulo, de modo de invocarlo desde cualquier parte:
Código vb.net:
Ver original
  1. 'Funcion de liberacion de memoria
  2.     Public Sub ClearMemory()
  3.         Try
  4.             Dim Mem As Process
  5.             Mem = Process.GetCurrentProcess()
  6.             SetProcessWorkingSetSize(Mem.Handle, -1, -1)
  7.         Catch ex As Exception
  8.             'Control de errores
  9.         End Try
  10.  
  11.     End Sub
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #29 (permalink)  
Antiguo 26/11/2009, 08:14
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Conectar visual studio 05 con mysql

Creo que debes leer sobre la instrucción using para liberar recursos de memoria.

Cita:
SetProcessWorkingSetSize(Mem.Handle, -1, -1)
Me parece que este método sólo se puede ejecutar si se tiene privilegios de administrador, y la verdad a mi no me parece que libere memoria. Además el mismo sistema operativo lo ejecuta cuando minimizamos la aplicación por lo que no creo que te sea de mucha ayuda.
__________________
Eduardo Peredo
Wigoin
  #30 (permalink)  
Antiguo 26/11/2009, 08:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Iniciado por eperedo Ver Mensaje
Creo que debes leer sobre la instrucción using para liberar recursos de memoria.


Me parece que este método sólo se puede ejecutar si se tiene privilegios de administrador, y la verdad a mi no me parece que libere memoria. Además el mismo sistema operativo lo ejecuta cuando minimizamos la aplicación por lo que no creo que te sea de mucha ayuda.
Bueno, en realidad el método no es mío, sino que está sacado de aquí: Liberar Memoria Con Vb .NET

Precisamente, la idea que expresa es que se fuerza a liberar memoria como cuando se minimiza, pero sin minimizar.
En cuanto a tener permisos de administrador, no lo he notado ni en XP ni en Vista, o al menos no produce ningún tipo de excepciones por falta de privilegios.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:21.