Está en la página 1de 9

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

INGENIERIA INDUSTRIAL
GUA : CONEXIN A UNA BASE DE DATOS (MYQSL)
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. 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 instalar una intefaz grfica para MySql para crear la base de datos que ser
trabajada en esta gua. Ejecute el archivo SQLyog605.exe 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.
3. Instalacin de los drivers de MySQL para .Net.
Para poder trabajar con el motor de base de datos MySql se requiere la instalacin
de controladores 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 y siga los pasos que indique la aplicacin.
4. Creacin de la base de datos.
Utilizando la interfaz grfica para MySql cree una base de datos con el nombre
tiendavideos. En ella cree una tabla con el nombre clientes con las siguientes
caractersticas:
Nombre campo
identificacion
nombre
direccion
telefono

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 Cliente. En el editor de
cdigo escriba el siguiente cdigo:
class Clientes

{
private
private
private
private

string
string
string
string

identificacion;
nombre;
direccion;
telefono;

public string GestIdntificacion


{
set { identificacion = value; }
get { return identificacion; }
}
public string GestNombre
{
set { nombre = value; }
get { return nombre; }
}
public string GestDireccion
{
set { direccion = value; }
get { return direccion; }
}
public string GestTelefono
{
set { telefono = value; }
get { return telefono; }
}
public string GuardarCliente()
{
string cadena = @"insert into clientes
values('"+this.identificacion+"','"+this.nombre+"','"+this.direccion+"','
"+this.telefono+"')";
return cadena;
}
public string ConsultarCliente()
{
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(identificacion= '" +
this.identificacion + "')";
return cadena;
}
}

La clase cliente 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 pestaa examinar y ubique la ruta C:\Archivos
de programa\MySQLDriverCS\dll y adicione la librera MySQLDriverCS.dll y
haga clic en aceptar.
Cree una clase ConectarMySQL, en la parte superior (antes del namespace)
agregue la instruccin using MySQLDriverCS; y en el editor de cdigo escriba
el siguiente cdigo:

class ConectarMySQL
{
MySQLConnection Conn;
private string CadenaSql;
//contructor de la clase: estable la conexion con el servidor
mysql

public ConectarMySQL()
{
Conn= new MySQLConnection(new
MySQLConnectionString("localhost","tiendavideos","root","").AsString);
}
public string GestCadena//captura, carga y devuelve una cadena
{
set { CadenaSql = value; }
get { return CadenaSql; }
}
//ejecuta las transacciones insert, update, delete
public string EjecutarSQL()
{
try
{
Conn.Open();
MySQLCommand query;
query = new MySQLCommand(CadenaSql, Conn);
query.ExecuteNonQuery();
return "Transaccion Exitosa";

}
catch (Exception ex)
{

return ex.Message;
}
finally
{
Conn.Close();
}

//ejecuta consultas: select


public MySQLDataReader Consultar()
{
try
{
MySQLDataReader ds;
MySQLCommand query;
Conn.Open();
query = new MySQLCommand(CadenaSql,Conn);
ds = query.ExecuteReaderEx();
return ds;
}
finally
{
Conn.Close();
}
}
}

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 item del


men creado anteriormente as:

private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)


{
Form2 f2 = new Form2();
f2.Show();
}
private void modificarToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
}
private void consultarToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form4 f4 = new Form4();
f4.Show();
}
private void unClienteToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form5 f5 = new Form5();
f5.Show();
}
private void todosToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form6 f6 = new Form6();
f6.Show();
}

Disee el formulario 2 colocando 4 campos de texto para recibir los datos del
cliente y enviarlos a la base de datos (insertar un registro) y un botn. Haga
doble clic sobre el botn y escriba el siguiente cdigo:

private void button1_Click(object sender, EventArgs e)


{
Clientes micli = new Clientes();
micli.GestIdntificacion = textBox1.Text;
micli.GestNombre = textBox2.Text;
micli.GestDireccion = textBox3.Text;
micli.GestTelefono = textBox4.Text;
ConectarMySQL con = new ConectarMySQL();
con.GestCadena = micli.GuardarCliente();
MessageBox.Show(con.EjecutarSQL());
}

Disee el formulario 3 (Modificar registros) colocando un cuadro desplegable,


tres 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:

private void Form3_Load(object sender, EventArgs e)


{
Clientes micli = new Clientes();
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarClientes();
ds = con.Consultar();
while (ds.Read())
comboBox1.Items.Add(ds.GetString(0));
}

Haga doble clic sobre el cuadro desplegable para entrar al editor de cdigo y
escriba el siguiente cdigo:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Clientes micli = new Clientes();
micli.GestIdntificacion = comboBox1.Text;
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarCliente();
ds = con.Consultar();
if (ds.Read())
{
textBox1.Text = ds.GetString(1);
textBox2.Text = ds.GetString(2);
textBox3.Text = ds.GetString(3);
}
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:
private void button1_Click(object sender, EventArgs e)
{
Clientes micli = new Clientes();
micli.GestIdntificacion = comboBox1.Text;
micli.GestNombre = textBox1.Text;
micli.GestDireccion = textBox2.Text;
micli.GestTelefono = textBox3.Text;
ConectarMySQL con = new ConectarMySQL();
con.GestCadena = micli.ModificarCliente();
MessageBox.Show(con.EjecutarSQL());
}

Disee el formulario 4 (eliminar un registro) colocando un cuadro desplegable,


3 etiquetas 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:

private void Form4_Load(object sender, EventArgs e)


{
Clientes micli = new Clientes();
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarClientes();
ds = con.Consultar();
while (ds.Read())
comboBox1.Items.Add(ds.GetString(0));
}

Haga doble clic sobre el cuadro desplegable para entrar al editor de cdigo y
escriba el siguiente cdigo:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Clientes micli = new Clientes();
micli.GestIdntificacion = comboBox1.Text;
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarCliente();
ds = con.Consultar();
if (ds.Read())
{
label1.Text = ds.GetString(1);
label2.Text = ds.GetString(2);
label3.Text = ds.GetString(3);
}
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:
private void button1_Click(object sender, EventArgs e)
{
Clientes micli = new Clientes();
micli.GestIdntificacion = comboBox1.Text;
ConectarMySQL con = new ConectarMySQL();
con.GestCadena = micli.EliminarCliente();
MessageBox.Show(con.EjecutarSQL());
}

Disee el formulario 5 (consultar un registro) colocando un cuadro desplegable,


3 etiquetas 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:
private void Form5_Load(object sender, EventArgs e)
{
Clientes micli = new Clientes();
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarClientes();
ds = con.Consultar();
while (ds.Read())
comboBox1.Items.Add(ds.GetString(0));
}

Haga doble clic sobre el cuadro desplegable para entrar al editor de cdigo y
escriba el siguiente cdigo:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Clientes micli = new Clientes();
micli.GestIdntificacion = comboBox1.Text;
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarCliente();
ds = con.Consultar();
if (ds.Read())
{
label1.Text = ds.GetString(1);
label2.Text = ds.GetString(2);
label3.Text = ds.GetString(3);
}
}

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:
private void button1_Click(object sender, EventArgs e)
{
this.Dispose();
}

Disee el formulario 6 (consultar todos los registros) colocando 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:

private void Form6_Load(object sender, EventArgs e)


{
Clientes micli = new Clientes();
ConectarMySQL con = new ConectarMySQL();
MySQLDataReader ds;
con.GestCadena = micli.ConsultarClientes();

ds = con.Consultar();
dataGridView1.DataSource = ds.GetSchemaTable();

Haga doble clic sobre el botn para ingresar al editor de cdigo y escriba el
siguiente cdigo:
private void button1_Click(object sender, EventArgs e)
{
this.Dispose();
}

Taller:
1. disee una base de datos con el nombre registro. Dentro de ella cree las
siguientes 3 tablas:
Alumno
Nombre del campo
Codigo
Nombre
Direccion
Telefono
E_mail

Tipo de dato
varchar
varchar
varchar
varchar
varchar

Longitud
15
20
20
10
20

Materias
Nombre del campo
Codigo_m
nombre
semestre

Tipo de dato
varchar
varchar
varchar

Longitud
15
20
10

Notas
Nombre del campo
Codigo_m
Codigo_a
Nota

Tipo de dato
varchar
varchar
float

Longitud
15
15

2. Disee una aplicacin en la cual se pueda adicionar un nuevo alumno, modificar


datos del alumno, eliminar un registro de un alumno, consultar sus datos, adicionar
una nueva materia, modificar datos de la materia, insertar un registro de notas de
un alumno y consultar las notas de un alumno en determinada materia.