Está en la página 1de 4

Programacion C#,C/C++,VB,PHP,MySql

Conectar Mysql con C#Final del formulario

En este captulo hablaremos como hacer la conexin 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 versin es necesario descargar la versin que sea compatible con la versin 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

Falta agregar el driver que descargamos el que nos permitir crear el enlace, ahora se realiza los siguientes pasos: 1. 2. 3. 4. Ahora creamos una clase Clic derecho sobre el nombre del proyecto en la ventana de soluciones Agregar referencia 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 aceptar5. 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 automticamente se crea nuestra clase. 6. Ahora importamos la directiva using MySql.Data.MySqlClient; lo tienen que escribir igualito como est la M mayscula 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 cdigo para hacer el enlace.

Primero declaramos una almacenarermos la

variable

de tipo mysqlconnection en donde cadena de conexion

public MySqlConnection cnn = new MySqlConnection("Server=localhost;Uid=root;Database=formacionx;Port=3306"); l o que est entre comillas no va ser siempre la misma es dependiendo de la configuracin de Mysql Ahora declaramos otra de tipo mysqlcommand en esta almacenaremos la instruccion sql Nota:No funcion para realizar consultas nada ms para insertar, actualizar y eliminar. public MySqlCommand cmd = new MySqlCommand();

Cdigo 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); } }

Botones del formulario.

nombredelaclase nombredelobjeto=new constructor(); y quedaria asi Class2 obj = new Class2(); Ahora ya podemos tener acceso a los mtodos ya podemos mandar datos para que se procesen y recibir los resultados. 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); } }