none
conectar mysql con c#

    Question

  • Buenas

    necesito ayuda.

    en un programa que estoy desarrollando me veo en la necesidad de conectar mysql con C# he hecho una clase para eso el cual se las presento a continuacion:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.Odbc;
    namespace Crystal
    {
        class conection
        {
          
         

           
               
          
            // establece el motor de conexion, usuario y base de datos a utilizar
            public static void coneccion(string sql)
            {
                System.Data.Odbc.OdbcConnection conexion = new OdbcConnection();
                conexion.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=ptc; User=ptc;Password=ricaldone;Option=3;";
                conexion.Open();
                System.Data.Odbc.OdbcCommand comando = new OdbcCommand();
                comando.CommandText = sql;
                comando.Connection = conexion;
            }

           
        }
    }

    hace el proceso con una query ke le mando como parametro en (sql) nome dani un error pero no me modifica nada en la BD osea es como si no funcionara quisiera de favor pedirles que me ayuden ustedes los expertos ya que aun soy un aprendiz

    de antemano muchisimas gracias
    Saturday, June 20, 2009 1:04 AM

Answers

  • Hola!
    Sería bueno que colocaras el query que estas intentando correr.
    En mi caso al conectarme a una base de datos de mysql, debo bajar el driver para .net y agregar la referencia MySql.Data.dll

    Y lo hago de la siguiente forma:

    MySqlConnection _userconection = new MySqlConnection();
    _userconection.ConnectionString = "Server=" + "localhost" + ";Port=" + "3306" + ";Database=" + "databasename" + ";Uid=" + "theuser" + ";Pwd=" + "password" + ";";
    
    try
    {
          _userconection.Open();
          MySqlDataAdapter adapter = new MySqlDataAdapter("Query",  _userconection);
    _userconection.Close();
    
    }
    catch{}
    
    

    Saludos!
    Briayan
    Saturday, June 20, 2009 1:45 AM
  • En esté enlace descarga el Windows Binaries (Zip)  el de 3.3M, es un archivo instalable de extensión .msi

    Briayan
    Saturday, June 20, 2009 4:05 AM
  • Debes agregar la referencia, Click derecho sobre tu proyecto en el Explorador de soluciones y la opción Agregar Referencia, luego ubicas la dll Mysql.Data.

    Saludos!
    Briayan
    Saturday, June 20, 2009 6:13 AM
  • Intenta de esta forma:
    cmd = new MySqlCommand("Insert into....", conexion);
    cmd.Prepare();
    cmd.ExecuteNonQuery();
    
    Saludos!

    Briayan
    Monday, June 22, 2009 3:45 AM

All replies

  • Hola!
    Sería bueno que colocaras el query que estas intentando correr.
    En mi caso al conectarme a una base de datos de mysql, debo bajar el driver para .net y agregar la referencia MySql.Data.dll

    Y lo hago de la siguiente forma:

    MySqlConnection _userconection = new MySqlConnection();
    _userconection.ConnectionString = "Server=" + "localhost" + ";Port=" + "3306" + ";Database=" + "databasename" + ";Uid=" + "theuser" + ";Pwd=" + "password" + ";";
    
    try
    {
          _userconection.Open();
          MySqlDataAdapter adapter = new MySqlDataAdapter("Query",  _userconection);
    _userconection.Close();
    
    }
    catch{}
    
    

    Saludos!
    Briayan
    Saturday, June 20, 2009 1:45 AM
  • Hola!
    Sería bueno que colocaras el query que estas intentando correr.
    En mi caso al conectarme a una base de datos de mysql, debo bajar el driver para .net y agregar la referencia MySql.Data.dll

    Y lo hago de la siguiente forma:

    MySqlConnection _userconection = new
     MySqlConnection();
    _userconection.ConnectionString = "Server=" + "localhost" + ";Port=" + "3306" + ";Database=" + "databasename" + ";Uid=" + "theuser" + ";Pwd=" + "password" + ";" ;

    try
    {
    _userconection.Open();
    MySqlDataAdapter adapter = new MySqlDataAdapter("Query" , _userconection);
    _userconection.Close();

    }
    catch {}



    Saludos!
    Briayan
    muchas gracias por tu ayuda Briayan pero quisiera saber de donde puedo obtener MySQL.Data.dll para asi oder probar y disculpa por las molestias
    Saturday, June 20, 2009 1:53 AM
  • No te preocupes.. Si te descargas el conector .NET versión 5.2.6  de la página de Mysql al instalarlo, agregas la referencia MySQL.Data.dll que se encuentra en la carpeta Program Files\MySQL\MySQL Connector NET 5.2.6\Binaries\.NET 2.0\

    Espero te sea de ayuda, ya sabes cualquier otra cosa me cuentas...
    Briayan
    Saturday, June 20, 2009 3:12 AM
  • en la pagina oficial de mysql encuentro una version en zip no instalable de ese conector y no me incluye el data.dll
    Saturday, June 20, 2009 3:51 AM
  • En esté enlace descarga el Windows Binaries (Zip)  el de 3.3M, es un archivo instalable de extensión .msi

    Briayan
    Saturday, June 20, 2009 4:05 AM
  • gracias infinitas man te lo agradezco como no tenes idea ahora probare a ver si me sale
    Saturday, June 20, 2009 4:06 AM
  • De nada, espero todo te salga bien. Saludos!

    Briayan
    Saturday, June 20, 2009 4:18 AM
  • este es mi nuevo codigo de clase:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using MySQL.Data.dll;
    namespace Crystal
    {
        class conection
        {
          
         

           
               
          
            // establece el motor de conexion, usuario y base de datos a utilizar
            public static void coneccion(string sql)
            {
                MySqlConnection conexion = new MySqlConnection();
                conexion.ConnectionString = "Server=" + "localhost" + ";Port=" + "3306" + ";Database=" + "ptc" + ";Uid=" + "ptc" + ";Pwd=" + "ricaldone" + ";";
                try
                {
                    conexion.open();
                    MySqlDataAdapter adapter = new MySqlDataAdapter(sql, conexion);

                    _userconection.Close();


                }
                catch
                {

                }

            }

           
        }
    }

    y me da error en el using MySQL.Data.dll;
    Saturday, June 20, 2009 4:28 AM
  • Cual es el error?

    Briayan
    Saturday, June 20, 2009 4:38 AM
  • Error    1    No se puede encontrar el tipo o el nombre de espacio de nombres 'MySQL' (¿falta una directiva using o una referencia de ensamblado?)   
    Saturday, June 20, 2009 4:39 AM
  • Debes agregar la referencia, Click derecho sobre tu proyecto en el Explorador de soluciones y la opción Agregar Referencia, luego ubicas la dll Mysql.Data.

    Saludos!
    Briayan
    Saturday, June 20, 2009 6:13 AM
  • bn ya lo hice y esta todo completo y no da errores pero no funciona no me ingresa nada en la BD, pasa exactamente lo mismo ke con el otro !!!!!

     sera porke utilizo wamp server???
    Monday, June 22, 2009 3:32 AM
  • Intenta de esta forma:
    cmd = new MySqlCommand("Insert into....", conexion);
    cmd.Prepare();
    cmd.ExecuteNonQuery();
    
    Saludos!

    Briayan
    Monday, June 22, 2009 3:45 AM
  • pues ya lo hice lo modifique como tu me has dicho y no me da errores pero no mete los datos en la BD
    Tuesday, June 23, 2009 1:58 AM
  • muchisimas gracias por la ayuda Briayan, el codigo de la conexion ke yo presente y el ke tu me diste funcionaban perfectamente, el tipo ke hizo la BD se equivoco en algo estupido jejeje pero muchisimas gracias por ti ya se otra forma de conectar
    Thursday, June 25, 2009 3:25 AM
  • Que bien, que me elegra que hayas solucionado tu problema, suelen pasar este tipo de situaciones.
    Saludos!
    Briayan
    Thursday, June 25, 2009 3:46 AM
  • Primero que todo, en .net no tienes que utilizar odbc. Solo tienes que bajar el Conector de mysql para .NET. luego le agregas la referencia a mysql
     

    import mysql.data;
    import muysql.data.mysqlclient;

    y encuentra la cadena de conexion a mysql tal como access.

    chau---


    Friday, June 26, 2009 5:02 AM