Está en la página 1de 5

Conectar C# con MySql En este capitulo hablaremos como hacer la conexion entre C# y MySql, en primer lugar necesitamos un driver

para poder hacer el enlace, lo podemos descargar desde la pagina oficial de Mysql el drive se llama mysql conector.net va variando la version en mi caso baje el 5.0 porque la version de mi MySql es 5.09 entonces ustedes descarguen la version que sea compatible con la version de su MySql y cuando ya lo hayan descargado lo tienen que instalar una vez instalado abrimos visual studio c# y hacemos lo siguiente En el men Archivo, haga clic en Nuevo proyecto. En el cuadro de dilogo Nuevo proyecto, haga clic en Aplicacin de Windows Forms y luego en Aceptar. Se abre un nuevo proyecto de formularios Windows Forms Insertamos dos botones 5 textbox con sus correspondientes labels y un datagridviewcon las siguientes propiedades botton 1 button2 Nombres de los textbox DatagridView Nombre:btnmostrar Nombre:btninsertar txtcodigo txttema txtprerrequisito dgddatos Text:Mostrar Text:Insertar txttitulo txthoras ya que tengamos todos los controles insertados ahora nos falta agregar el driver que descargamos el que nos permitira crear el enlace Agregando Driver 1.-Clic derecho sobre el nombre del proyecto en la ventana de soluciones 2.-Agregar referecia 3.-Se abre un cuadro dialogo con cuatro pestaas nos quedamos en la pestaa actual y buscamos el driver que se llama MySql.Data luego le damos clic en aceptarHasta aqui hemos agregado el driver uff tomense una chelita para que no se estresen porque todavia faltan los codigos.. Ya se acabaron su chela entonces seguimos Ahora creamos una clase repetir el primer paso anterior luego posicionamos nuestro puntero del mouse en la opcion de agregar y seleccionamos Nuevo elemento posteriormente se abre un cuadro de dialogo con varias opciones buscamos una que se llama clase ya lo encontraron entonces damos un clic y ponemos un nombre el nombre que ustedes quieran luego clic en aceptar y automaticamente se crea nuestra clase . Ahora importamos la directiva using MySql.Data.MySqlClient; lo tienen que escribir igualito como esta la M mayuscula y la S o de lo contrario no les va aparecer data cuando presionen el punto hay que tener especial cuidado al momento de escribirlo OK?

Ahora vamos con el codigo para hacer el enlace primero declaramos una variable de tipo mysqlconnection en donde almacenarermos la cadena de conexion public MySqlConnection cnn = new MySqlConnection("Server=localhost;Uid=root;Database=formacionx;Port=3306"); lo que esta entre comillas no va ser siempre la misma es dependiendo de la configuracion de Mysql Ahora declaramos otra de tipo mysqlcommand en esta almacenaremos la instruccion sql Nota:No funcion para realizar consultas nadmas para insertar,actualizer y eliminar. public MySqlCommand cmd = new MySqlCommand(); Bueno como que esto me esta aburriendo aki les dejo el code para mostrar e insertar datos using System; using System.Collections.Generic; using System.Text; using MySql.Data; using System.Collections; using MySql.Data.MySqlClient; using System.Windows.Forms; using System.Data; namespace WindowsFormsApplication1 { class Class2 { public MySqlConnection cnn = new MySqlConnection("Server=localhost;Uid=root;Database=formacionx;Port=3306"); public MySqlCommand cmd = new MySqlCommand(); public DataSet ds=new DataSet(); public void mostrar(DataGridView dv) { cnn.Open(); MySqlDataAdapter da = new MySqlDataAdapter("Select idcodigo as Codigo,titulo as Titulo,nu_horas as 'Numero de horas',tema as Tema,prerrequisito as 'Prerrequisito' from curso",cnn); da.Fill(ds, "curso"); dv.DataSource = ds.Tables[0]; cnn.Close(); }

public void insertar(TextBox txt1, TextBox txt2, TextBox txt3, TextBox txt4, TextBox txt5) { if (txt1.Text == "" || txt2.Text == "" || txt3.Text == "" || txt4.Text == "" || txt5.Text == "") { MessageBox.Show(" Rellene todos los campos", "Campos vacios", MessageBoxButtons.OK, MessageBoxIcon.Stop); txt1.Focus(); } else { try { cnn.Open(); cmd.CommandText = "Insert into curso(idcodigo,titulo,nu_horas,tema,prerrequisito)values('" + txt1.Text + "','" + txt2.Text + "','" + txt3.Text + "','" + txt4.Text + "','" + txt5.Text + "')"; cmd.Connection = cnn; cmd.ExecuteNonQuery(); cnn.Close(); MessageBox.Show("Se ha dado de alta el curso correctamente"); } catch (Exception m) { MessageBox.Show(m.Message); } }

Todo va en la clase nos falta todavia del formulario para llamar esas instrucciones ufff Tomense otra chela Seguimos dejen su chela acabemos primero para que puedan tomar a gusto mas al rato ahora en el formulario para poder tener acceso a las instrucciones de la clase debemos instanciarla o crear un objeto eso hace asi Sintaxis nombredelaclase nombredelobjeto=new constructor(); y quedaria asi Class2 obj = new Class2();

Ahora ya podemos tener acceso a los metodos ya podemos mandar datos para que se prosecen y recibir los resultados. Bueno ya tengo sueo aqui les dejo el codigo completo using System; using System.Collections; using MySql.Data.MySqlClient; using MySql.Data.Types; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace WindowsFormsApplication1 { public partial class Form1 : Form { // Crear una instancia de la clase Class2 obj = new Class2(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } //insertar private void btninsertar_Click(object sender, EventArgs e) { obj.insertar(txtclave, txtmarca, txtmodelo, txtnombre, txtnum); } //Mostrar datos en un datagridview private void btnmostrar_Click(object sender, EventArgs e) { obj.mostrar(dvgdatos);

} } y eso es todo guarden su aplicacion antes de correrlo porque luego se les olvida y al ratito vienen los relampagasos se apaga su maquina se pierde su trabajo y despues andan chillando cualquier duda favor de dejar su comentario saludos