Vous êtes sur la page 1sur 11

Plataforma: Visual Studio 2010

Lenguaje: C Sharp
Tema: Conexin a una base de datos
Objetivo: Aprender a disear aplicaciones de escritorio con formularios y conexin
a base de datos.
La plataforma .Net ofrece la posibilidad de trabajar aplicaciones con conexin a
diferentes motores de bases de datos y desde los distintos entornos de
programacin. Tambin posibilita la creacin de reportes que muestren
informacin producto de consultas desde la base de datos. Para el desarrollo de
esta gua utilizaremos el motor de base de datos MySql y seguiremos los pasos
que se enunciarn a continuacin.
1. Instalacin del motor de bases de datos.
Para la instalacin del motor de base de datos MySql se elegir la opcin
completa; en la configuracin se creara un usuario annimo (sin contrasea).
Descomprima el archivo mysql-5.0.41-win32.zip, ejecute el instalador y siga los
pasos que le indique la aplicacin.
2. Instalacin de la interfaz grfica para MySql.
Se puede instalar una interfaz grfica para MySql para crear bases de datos que.
Una de ellas es Sqlyog, para instalar esta Ejecute el archivo SQLyog605.exe que
es la versin free, y siga los pasos que le indica la aplicacin. Al finalizar la
instalacin se le pedir crear una conexin, haga clic en nueva y asigne un
nombre a la conexin para poder inicializar el motor de base de datos. La segunda
es WorkWench, para instalar esta aplicacin ejecute el archivo mysql-workbenchgpl-5.2.43-win32.msi aplicacin free, y siga las instrucciones.
3. Instalacin de libreras de .Net para usar el motor MySql.
Para poder trabajar con el motor de base de datos MySql se requiere la instalacin
de libreras que sean capaces de brindar las funciones requeridas. Se trata de una
librera que posteriormente ser adicionada a cada proyecto que quiera
conectarse a una base de datos MySql. Ejecute el archivo MySQLDriverCS-nEasyQueryTools-4.0.1-DotNet2.0.exe. Luego de la instalacin debe reiniciar el la
plataforma Visual Studio para que reconozca los cambios.
4. Creacin de la base de datos.
Utilizando la interfaz grfica para MySql cree una base de datos con el nombre
Hotel. En ella cree una tabla con el nombre clientes con las siguientes
caractersticas:
Nombre campo
Identificacin
Nombre
Direccin
Telfono

Tipo de dato
Varchar
Varchar
Varchar
Varchar

Longitud
15
20
20
10

5. Creacin de la aplicacin
Cree un proyecto nuevo en C#, seleccione aplicacin para windows.
Para este proyecto cree una clase con el nombre Clientes. En el editor de
cdigo escriba el siguiente cdigo:
public class Clientes
{
private string identificacion;
private string nombre;
private string direccion;
private string telefono;
public string Identificacion
{
get { return identificacion; }
set { identificacion = value; }
}
public string Nombre
{
get { return nombre; }
set { nombre = value; }
}
public string Direccion
{
get { return direccion; }
set { direccion = value; }
}
public string Telefono
{
get { return telefono; }
set { telefono = value; }
}
public string GuardarCliente()
{
string cadena = "insert into clientes values('" +
this.identificacion + "','" + this.nombre + "','" + this.direccion + "','" +
this.telefono + "')";
return cadena;
}
public string ConsultarUnCliente()
{
string cadena = "select * from clientes where(identificacion= '"
+ this.identificacion + "')";
return cadena;
}
public string EliminarCliente()
{
string cadena = "delete from clientes where(identificacion= '" +
this.identificacion + "')";
return cadena;

}
public string ConsultarClientes()
{
string cadena = "select * from clientes";
return cadena;
}
public string ModificarCliente()
{
string cadena = "update clientes set nombre='" + this.nombre +
"', direccion='" + this.direccion + "', telefono='" + this.telefono + "'
where (identificacin = '" + this.identificacion + "')";
return cadena;
}
}

La clase Clientes contiene los atributos correspondientes a los campos en la tabla


clientes de la base de datos. Adems los mtodos para recibir la informacin
correspondiente para procesar cada atributo y los mtodos para ejecutar
transacciones en la base de datos.

Agregue la librera que contiene las instrucciones para el manejo de la base de


datos: al lado derecho de la ventana en el explorador de soluciones seleccione
Referencias (References), haga clic derecho y seleccione Agregar
Referencia; haga clic sobre la Browse (buscar), busque la librera en la Ruta:
C:\Archivos de Programas\MysqlDriversCS\dll\ adicione la librera
MysqlDriversCS.dll y haga clic en aceptar.
Cree una clase ConectarMySQL, en la parte superior (antes del namespace)
agregue las lneas using MySQLDriverCS; y using System.Data; y la clase
tendr el siguiente cdigo:

public class ConectarMySQL


{
MySqlConnection conn;
private string cadenaSQL;
public string CadenaSQL
{
get { return cadenaSQL; }
set { cadenaSQL = value; }
}
//contructor de la clase: estable la conexion con el servidor mysql
public ConectarMySQL(string localhost, string basedatos, string
usuario, string password)
{
conn = new MySqlConnection("Server=" + localhost + "; Database="
+ basedatos + "; User ID=" + usuario + "; Password=" + password + ";
charset=utf8;");
}
//ejecuta las transacciones insert, update, delete

public string EjecutarSQL()


{
string rta = "";
try
{
conn.Open();
MySqlCommand query = new MySqlCommand(cadenaSQL, conn);
rta= query.ExecuteNonQuery().ToString();
}
catch (Exception ex)
{
rta= ex.Message;
}
finally
{
conn.Close();
}
return rta;
}
//ejecuta consultas: select
public MySqlDataReader Consultar()
{
MySQLDataReader ds=null;
try
{
MySQLCommand query;
Conn.Open();
query = new MySQLCommand(CadenaSql, Conn);
ds = query.ExecuteReaderEx();
}
finally
{
Conn.Close();
}
return ds;
}
}

Sobre el formulario 1 coloque un menuStrip y diselo con la siguiente


estructura:

Agregue 5 formularios ms al proyecto, y enlace cada uno con un tem del


men creado anteriormente as:

private void nuevoToolStripMenuItem_Click(object sender,


EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
private void modificarToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form3 f = new Form3();
f.Show();
}
private void eliminarToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form4 f = new Form4();
f.Show();
}
private void unRegistroToolStripMenuItem_Click(object sender,
EventArgs e)
{

Form5 f = new Form5();


f.Show();
}
private void todosToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form6 f = new Form6();
f.Show();
}

Disee el formulario 2 colocando cinco (5) etiquetas, cuatro (4) campos de


texto para recibir los datos del conductor y enviarlos a la base de datos
(insertar un registro) y un botn.

Haga doble clic sobre el botn y escriba el siguiente cdigo:

Clientes cliente = new Clientes();


cliente.Identificacion = textBox1.Text;
cliente.Nombre = textBox2.Text;
cliente.Direccion = textBox3.Text;
cliente.Telefono = textBox4.Text;
ConectarMySQL conn = new ConectarMySQL("localhost", "Hotel",
"root", "root");
conn.CadenaSQL = cliente.GuardarCliente();
label5.Text=conn.EjecutarSQL();

Disee el formulario 3 (Modificar registros) colocando cinco (5) etiquetas (label)


un cuadro desplegable (ComboBox), tres (3) cuadros de texto y un botn.

Sobre el formulario haga doble clic para entrar al editor de cdigo del
formulario en la parte superior (antes del namespace) escriba la instruccin
using MySQLDriverCS; y en el evento load escriba el siguiente cdigo:
try
{

Clientes cliente = new Clientes();


ConectarMySQL conn = new ConectarMySQL("localhost",
"Hotel", "root", "root");
MySqlDataReader ds=null;
conn.CadenaSQL = cliente.ConsultarClientes();
ds=conn.Consultar();
while (ds.Read())
{
comboBox1.Items.Add(ds.GetString(0));
}
}
catch(Exception ex){
label5.Text = ex.Message;
}

Haga doble clic sobre el cuadro desplegable para entrar al editor de cdigo y
escriba el siguiente cdigo:
try
{

Clientes cliente = new Clientes();


cliente.Idntificacion = comboBox1.Text;
ConectarMySQL conn = new ConectarMySQL("localhost", "Hotel",
"root", "root");
MySqlDataReader ds;
conn.CadenaSQL = cliente.ConsultarUnCliente();

ds = conn.Consultar();
if (ds.Read())
{
textBox1.Text = ds.GetString(1);
textBox2.Text = ds.GetString(2);
textBox3.Text = ds.GetString(3);
}
}
catch(Exception ex){
label5.Text = ex.Message;
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:

Clientes cliente = new Clientes();


cliente.Idntificacion = comboBox1.Text;
cliente.Nombre = textBox1.Text;
cliente.Direccion = textBox2.Text;
cliente.Telefono = textBox3.Text;
ConectarMySQL conn = new ConectarMySQL("localhost", "Hotel",
"root", "root");
conn.Cadena = cliente.ModificarCliente();
label5.Text = conn.EjecutarSQL();

Disee el formulario 4 (eliminar un registro) colocando, cinco (5) etiquetas, un


cuadro desplegable, tres (3) cuadros de texto y un botn.

Sobre el formulario haga doble clic para entrar al editor de cdigo del
formulario; en la parte superior (antes del namespace) escriba la instruccin
using MySQLDriverCS; y en el evento load escriba el siguiente cdigo:
try
{

Clientes cliente = new Clientes();


ConectarMySQL conn = new ConectarMySQL("localhost",
"Hotel", "root", "root");
MySqlDataReader ds=null;
conn.CadenaSQL = cliente.ConsultarClientes();
ds=conn.Consultar();
while (ds.Read())
{
comboBox1.Items.Add(ds.GetString(0));
}
}
catch(Exception ex){
label5.Text = ex.Message;
}

Haga doble clic sobre el cuadro desplegable para entrar al editor de cdigo y
escriba el siguiente cdigo:
try
{

Clientes cliente = new Clientes();


cliente.Idntificacion = comboBox1.Text;
ConectarMySQL conn = new ConectarMySQL("localhost", "Hotel",
"root", "root");
MySqlDataReader ds;
conn.CadenaSQL = cliente.ConsultarUnCliente();
ds = conn.Consultar();
if (ds.Read())
{
textBox1.Text = ds.GetString(1);
textBox2.Text = ds.GetString(2);
textBox3.Text = ds.GetString(3);
}
}
catch(Exception ex){
label5.Text = ex.Message;
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:

Clietes cliente = new Clientes();


cliente.Idntificacion = comboBox1.Text;
ConectarMySQL conn = new ConectarMySQL("localhost", "Hotel",
"root", "root");
conn.CadenaSQL = cliente.EliminarCliente();
label5.text=conn.EjecutarSQL();

Disee el formulario 5 (consultar un registro) de acuerdo a las rutinas


realizadas en formularios anteriores (Eliminar o Modificar).

Disee el formulario 6 (consultar todos los registros) colocando una etiqueta,


un objeto visor malla para datos (dataGridView) y un botn.

Sobre el formulario haga doble clic para entrar al editor de cdigo del
formulario en la parte superior (antes del namespace) escriba la instruccin
using MySQLDriverCS; y en el evento load escriba el siguiente cdigo:
try
{

Clientes cliente = new Clientes();


ConectarMySQL conn = new ConectarMySQL("localhost",
"Hotel", "root", "root");
MySqlDataReader ds=null;
conn.CadenaSQL = cliente.ConsultarClientes();
ds=conn.Consultar();
dataGridView1.DataSource = ds.GetSchemaTable();
}
catch(Exception ex){
label1.Text = ex.Message;
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:
this.Dispose();

Ejecute el proyecto y observe los resultados.

Vous aimerez peut-être aussi