Your SlideShare is downloading. ×
My Sql A C#
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

My Sql A C#

3,874
views

Published on


1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
3,874
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
101
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Como conectar una base de datos MySQL
    a una aplicación para Windows dentro de Visual C#.
  • 2. Para comenzar primeramente hay que definir que es MySQL y que Visual C#.
    MySQL: Es uno de los gestores de bases de datos mas utilizados en entornos en los cuales se emplea PHP ya que PHP dispone de numerosas funciones que se compaginan perfectamente con MySQL.
    C #: Es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft.
  • 3. ¿Cómo conectar base de datos MySQL usando C# ? Quiero saber cómo aplicar la base de datos de MySQL en C # sin utilizar ODBC connection. Descargar su biblioteca ADO.NET e incluirlo en el proyecto. 2.- Agregue las instrucciones adecuadas utilizando
    Para 1.- Hay que empezar abriendo visual c#
  • 4. Del lado izquierdo encontrarán la barra de herramientas, la cual contiene todos los controles que se pueden utilizar. Comencemos introduciendo 3 controles llamados TextBox a nuestro formulario. Posteriormente introducimos un control llamado Button.
  • 5. Bloque A. En dicho bloque se muestran los namespaces (Espacios de nombre) que se usarán en nuestra clase, en este caso Form1.csBloque B. En esta parte del código vemos un namespace definido con un nombre en particular. Si notan, el namespace está formado por dos llaves ({}), la que se encuentra al principio del código y la que se encuentra al final. Es muy importante aprender a utilizarlos ya que nos permitirán darle un orden a nuestro código.Bloque C. Aquí vemos como la clase está creada con el nombre de Form1, pero no sólo eso, no, también vemos que hereda una clase, dicha clase es llamada Form. La herencia es tan fácil, sólo estudien bien ese término. Una explicación muy burda de lo que es una clase sería cuando una clase obtiene las propiedades de otra…… Hasta aquí les explicaré, ya que no es motivo de este manual el entender conceptos básicos en la programación.Bloque D. Aquí vemos el constructor de la clase Form el cual contiene un método que inicia todos los controles agregados en nuestro formulario entre otras cosas. ¿Qué es un constructor? Quizás algunos se pregunten esto, bueno, no quiero explicarlo pues sería un poco confuso pero. Un constructor es una clase, dichos constructores pueden ser sobrecargados y así manipular alguna que otra propiedad a conveniencia. Se ha utilizado, así que no se preocupen por que lo que importa en estos momentos es aprender a utilizar MySQL con C#.
  • 6.
  • 7. Utilizando App.ConfigAhora demos clic derecho sobre el icono del proyecto, sí, la cochinada negra que encierra un icono en la imagen siguiente, situemos el icono en donde dice Agregar y demos clic en Nuevo Elemento…
  • 8. Ahora localicemos un icono que diga Archivo de configuración de aplicaciones y demos doble clic sobre él (el nombre del archivo déjenlo como está)
  • 9. Ahora lo siguiente será agregar una cadena de conexión a nuestro App.Config, sirve para agregar configuraciones de nuestro proyecto, entre ellas las de cadenas de conexión que nos permitirán acceder a las bases de datos. Ahora andan muy listos, claro que sí, podemos agregar muchas de cadenas de conexión y hasta reciclar nuestro App.Config, Nadamas que ese código debe encontrarse dentro de <configuration></configuration>…. Vean la imagen mijas.
    Código:
    <connectionStrings> <add name="MySQLConnection" providerName="System.Data.odbc" connectionString="Driver={MySQL ODBC 3.51 DRIVER};UID=root;Password=;Server=colibri;Option=16834;Database=test" /> </connectionStrings>
  • 10. Ahora sitúense en el editor de código de Form1.cs (simplemente den clic en el icono llamado Form1.cs en el Explorador de soluciones y posteriormente clic en Ver código); ya encontrándose en Form1.cs, vayan a la parte en donde se definen los namespaces que se van a utilizar y agreguen dos namespaces:
    Código:
    using System.Data.Odbc;using System.Configuration;
  • 11. Ahora vamos a agregar una referencia de System.Configurations; para eso vamos a Proyecto---Agregar Referencia…
  • 12. Nos aparecerá un cuadro en el cual deberemos localizar la referencia llamada System.Configuratio n, cuando la localicemos, damos un clic sobre ella y luego clic en Aceptar (esta referencia es para poder utilizar una parte del código que nos permite extraer la cadena de conexión).
  • 13. Ahora lo que resta es agregar el código, para eso copien y peguen (o mejor lean el código y escríbanlo, para que se les quede batos flojos)
    Código:
    privatevoid button1_Click(objectsender, EventArgs e)        {            StringstrMySQLCnnString =                ConfigurationManager.ConnectionStrings["MySQLConnection"].ToString();            StringstrConnectionString = "SELECT * FROM tabla";            OdbcConnectionodbcCnn = new OdbcConnection(strMySQLCnnString);            OdbcCommandodbcCmd = new OdbcCommand(strConnectionString,odbcCnn);            try            {                odbcCnn.Open();                OdbcDataReaderodbcDr = odbcCmd.ExecuteReader();            
  • 14.    if (odbcDr.Read())                {                    textBox1.Text = (String)odbcDr["Campo1"];                    textBox2.Text = (String)odbcDr["Campo2"];                    textBox3.Text = (String)odbcDr["Campo3"];                    odbcDr.Close();                    odbcDr.Dispose();                }            }            catch (Exception ex)            {                MessageBox.Show("Chincheros, otra vez la mamá de putusa:" +                    ex.ToString());            }            finally            {                odbcCnn.Close();                odbcCnn.Dispose();                odbcCmd.Dispose();            }        }
  • 15. Dicho código deberán ubicarlo después de la finalización del constructor
    Ya terminado todo, sólo debemos ejecutar nuestra aplicación y obviamente nuestro servidor MySQL deberá estar iniciado con los requisitos que arriba les indiqué. Deberá verse un registro como en la imagen siguiente.
    Pues bueno, comencemos con la primer parte.
    Código:
    private void button1_Click(object sender, EventArgs e){}
    Esto sólo es la definición de un evento para nuestro control llamado Button1, su evento en este caso es el ClickEn esta parte únicamente declaramos dos variables de tipo String las cuales son inicializadas de una vez, una con la extracción de la cadena de conexión (strMySQLCnnString) y la otra con la consulta que vamos a realizar (strConnectionString) (me equivoqué al ponerle ConnectionString, pero bueno, eso es lo de menos, el código aún funciona.
    Código:
    String strMySQLCnnString =  ConfigurationManager.ConnectionStrings["MySQLConnection"].ToString();String strConnectionString = "SELECT * FROM tabla";
    En el siguiente código lo que hacemos es declarar dos variables, una del tipo odbcConnection (odbcCnn) la cual contiene la cadena de conexión y la otra del tipo odbcCommand (odbcCmd) que contiene la consulta SQL y la conexión.
    Código:
    OdbcConnectionodbcCnn = new OdbcConnection(strMySQLCnnString);            OdbcCommandodbcCmd = new OdbcCommand(strConnectionString,odbcCnn);
    En esta parte vemos los bloques try/catch/finally los cuales nos permiten intentar una acción (try), atrapar un error (catch) y finalmente ejecutar algo después de esos dos bloques con la diferencia de que siempre se ejecutará en el código sin importar que en cual de los bloques anteriores pasaron nuestras instrucciones (finally)Dentro de try encontraremos el código que nos permitirá abrir la conexión a nuestro servidor de base de datos (primer línea)
    Código:
    odbcCnn.Open();
  • 16. Posteriormente encontraremos la creación de una variable del tipo de DataReader con el valor de la variable del tipo Command la cual únicamente nos especifica que el comando SQL que se ejecutó fue una consulta y no una inserción o actualización o eliminación de información.
    Código:
    OdbcDataReaderodbcDr = odbcCmd.ExecuteReader();
    En la siguiente línea encontramos una sentencia if, la cual nos hace saber si nuestro DataReader ha leído los datos que se consultaron, ya dentro del bloque if encontraremos que se insertan a la propiedad Text de los controles TextBox el valor de cada campo del primer registro encontrado y después se cierra el DataReader y se libera el GarbageCollector.
    Código:
    if (odbcDr.Read()){      textBox1.Text = (String)odbcDr["Campo1"];      textBox2.Text = (String)odbcDr["Campo2"];      textBox3.Text = (String)odbcDr["Campo3"];     odbcDr.Close();     odbcDr.Dispose();}
  • 17. he creado un metodo publico llamado Refrescar(); el codigo es:
     public void Refrescar()
         {
           vcda = new MySqlDataAdapter("select*from usuarios", vccon);
           vcda.Fill(vcds, "usuarios");
           dataGrid1.DataSource = vcds.Tables["usuarios"].DefaultView;
           dataGrid1.SetDataBinding(vcds, "usuarios");
         }
    ademas tienes que agregar lo siguiente para que funciones:usingMySql.Data.MySqlClient;y en references le haces click secundario y agregas el connectorMySql Data Client.dlltambien no se te olvide crear publicos los siguientes metodos:
     public MySqlConnectionvccon = null;
         public MySqlDataAdaptervcda = null;
         public MySqlCommandvccomm = null;
         public DataSetvcds = new DataSet();
    en donde  "vccon", "vcda", "vccomm" y "vcds" son las variables que utilizaras en el codigo que antes te di para la coneccion y consulta de la base de datos.

×