Bien, una de las grandes funciones que tiene la programación es crear aplicaciones que almacenen datos en Bases de datos, por esa razón, este apartado está dedicado a explicar como conectarnos a MySql (Una base de datos Gratuita) desde C# mediante la capa intermedia de OleDB, la cual es igual para todas las bases de datos del mundo, lo único que va a cambiar será el conection String que mas adelante explicamos a fondo.
Primero:Necesitamos instalar la base de datos, para esto, puedes descargar MySql, en su ultima versión, o mejor dicho la mas resiente o bien descargar el Wamps, que es un administrador de servicios, que administra el servicio de la Base de Datos MySql, el servidor Apache y el Php simultáneamente.
Para descargar el Wamps dale clic al siguiente
link (Si no funciona Copy/Paste la barra de navegación) .
También van a necesitar el Driver para conectarse por OledB lo descargan
aqui, este permite conectarnos a la base de datos, existen tres formas posibles (bueno que yo conozca...)
El Oledb que acabo de mencionar
el ODBC, que es el mas antiguo
El Driver Nativo que es MySql.data que es propio para la base de datos.
Segundo:
Una vez instalado, también necesitamos una interface para conectarnos a la base de datos y crear nuestras bases de datos y tablas para eso, descargamos el Navicat desde
aqui.Desde el Navicat creamos una base de datos llamada
data_colegio y una tabla de nombre
Alumno, con los siguientes campos
RNE Varchar 15 (Primary Key)
Nombre Varchar 30
Apellido Varchar 30
Si tienes dudas de como usar el Navicat y el Wamps dale clic aqui
Una vez creada esta tabla entramos a C#, creamos un nuevo proyecto de Nombre cualquiera (en mi caso se llama Garrobito jejeje). y en la forma insertamos los controles necesarios para capturar los datos (Tres TextBox y tres Label). y un Botón con el nombre CmdGuardar (o el nombre que se les ocurra) .
Ahora insertamos un archivo de Clase, para esto, clic derecho en el explorador de objetos, pero nó en el solution y buscamos la opción Agregar (Add) y luego Clase (Class), le damos como nombre:
Funciones_Globales
Abrimos el archivo (Si es que no se abrió al crearlo) y en la parte de los using agregamos:
using System.Data;
using System.Data.OleDb;
Luego dentro de la clase, creamos un procedimiento publico de nombre AddAlumno de la siguiente forma:
public void AddAlumno(string id, string nombre, string apellido)
{
OleDbConnection cn = null;
OleDbTransaction tran = null;
try
{
///Si no se ve bien el texto, copia y pega el contenido en el blog de notas =)
cn = new OleDbConnection("Provider=MySQLProv; Data Source=data_colegio; User Id=root;Password=");
string query = "insert into alumno(RNE,NOMBRE, APELLIDO) values ('{0}','{1}','{2}')";
query = string.Format(query, id,nombre,apellido);
cn.Open();
OleDbCommand cmd = new OleDbCommand(query, cn);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (cn != null && cn.State != ConnectionState.Closed)
{
cn.Close();
cn.Dispose();
}
}
Lo salvamos y regresamos al Formulario en el evento clic del botón CmdGuardar escribimos:
Funciones_Globales Control =
new Funciones_Globales();
try{
Control.AddAlumno(MskRNE.Text, TxtNombre.Text, TxtApellido.Text);
MessageBox.Show("Se almacenaron los registros ");
}
catch (
Exception er)
{
MessageBox.Show("Error al guardar los datos ");
}
y listo, en la buena teoría si siguieron todos los pasos debería de funcionar, explicando un poco el código:
Primera linea:
Funciones_Globales Control = new Funciones_Globales();
Declaramos una variable llama Control, de tipo Funciones_Globales (que es la clase) y la instanciamos en memoria.
Segunda Linea:
Abrimos el Try
Tercera Linea:
Llamamos el Método AddAlumno y le enviamos los tres argumentos que esta esperando, en mi caso mis controles son Un MasketEdit y dos textBox (observen los prefijos), y si todo está bien mostrará el mensaje de Se almacenaron los registros, en el caso que la función retorne un error el Catch la captura y muestra el mensaje Error al Guardar los datos
Por los momentos, solamente, espero este código les sirva.