elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Clases en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Clases en C#  (Leído 2,584 veces)
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Clases en C#
« en: 15 Junio 2012, 17:50 pm »

Hola, bueno les cuento que estoy creando una clase para usar a modo de 'handler' para MySql.

El codigo de la misma es este:
Código
  1. //MySQL.cs
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using MySql.Data;
  7. using MySql.Data.MySqlClient;
  8.  
  9. namespace Pruebas
  10. {
  11.    class MySql
  12.    {
  13.        private MySqlConnection Conexion;
  14.  
  15.        public MySql(String Host, String User, String Password, String Port="3306"){
  16.            try
  17.            {
  18.                String path = String.Format("DataSource={0};User={1};Password={2};Port={3}", Host, User, Password, Port);
  19.                this.Conexion = new MySqlConnection(path);
  20.            }
  21.            catch (Exception ex)
  22.            {
  23.                Console.WriteLine("No de pudo conectar con MySQL: "+ex.Message);
  24.            }
  25.        }
  26.  
  27.        public bool SelectDataBase(String db)
  28.        {
  29.            try
  30.            {
  31.                if (db == String.Empty) return false;
  32.                this.Conexion.ChangeDatabase(db);
  33.                return true;
  34.            }
  35.            catch (Exception ex) { Console.WriteLine("No se pudo seleccionar la DD.BB: "+ex.Message); return false; }
  36.        }
  37.  
  38.        ~MySql()
  39.        {
  40.            this.Conexion.Close();
  41.        }
  42.  
  43.    }
  44. }
  45.  
  46.  

Y en mi Form1.cs tengo este codigo:

Código
  1. //Form1.cs
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using MySql.Data;
  11. using MySql.Data.MySqlClient;
  12.  
  13. namespace Pruebas
  14. {
  15.    public partial class Form1 : Form
  16.    {
  17.        public Form1()
  18.        {
  19.            InitializeComponent();
  20.        }
  21.  
  22.        private void Form1_Load(object sender, EventArgs e)
  23.        {
  24.            MySql mysql = new MySql("localhost","root","xxxx");
  25.            mysql.SelectDataBase("pruebas");
  26.        }
  27.    }
  28. }
  29.  

Deberia funcionar, pero al ejecutar mi aplicacion, en la ventana de resultados obtengo esto:
Código:
Excepción del tipo 'System.InvalidOperationException' en MySql.Data.dll
No se pudo seleccionar la DD.BB: The connection is not open.

Lo que me dice es que no se puede elegir la base indicada porque no hay una conexion abierta. Ahora lo que yo me pregunto es por qué no se abre la conexion, pero tampoco se dispara un Exception cuando intento conectar.

Es decir o se tendria que conectar o generarme una excepcion...alguna ayuda??  :huh:

Saludos y muchas gracias!!!


En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Clases en C#
« Respuesta #1 en: 15 Junio 2012, 17:57 pm »

En que momento abriste la conexión? No la veo.


En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Clases en C#
« Respuesta #2 en: 15 Junio 2012, 18:02 pm »

Tienes razon, me eh olvidado el this.Conexion.Open();...soy un retrasado mental  :laugh:

Muchas gracias!!!

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Clases en C#
« Respuesta #3 en: 15 Junio 2012, 18:26 pm »

Tienes razon, me eh olvidado el this.Conexion.Open();...soy un retrasado mental  :laugh:

Muchas gracias!!!

Saludos

Suele pasar  :xD :xD :xD

Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Clases en VB
Programación Visual Basic
Kizar 0 1,220 Último mensaje 17 Marzo 2006, 16:56 pm
por Kizar
clases
Programación Visual Basic
elmaro 2 1,755 Último mensaje 12 Septiembre 2006, 05:51 am
por elmaro
clases en C++
Programación C/C++
mapers 4 4,058 Último mensaje 25 Enero 2011, 06:21 am
por mapers
Clases
.NET (C#, VB.NET, ASP)
TheGhost(Z) 4 2,974 Último mensaje 14 Febrero 2011, 18:15 pm
por Edu
¿que se representa en las clases y diagramas de clases uml?
Programación General
Filantropo 2 2,912 Último mensaje 22 Diciembre 2020, 02:43 am
por Filantropo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines