Hola ciberadictos:
Al contrario del EmoSoul, a mí me gusta compartir lo que aprendo al proletariado en lugar de guardarlo en mi cabeza. Esto con fines de que vean lo mal programador que soy y en caso de requerir algo similar, saber dónde está
Este post trata de la rudimentaria aplicación que usé en la plática en la UNIVER el día miércoles 17 de Junio. Dicha app es un conjunto de viejos ejercicios que llevé en la clase de Programación 2 en el Tec de Tijuana (algunos se han de acordar): el típico Altas, Bajas, Consultas.
La finalidad era que los estudiantes vieran el poder de mono, C#/ASP.Net y Monodevelop, todos juntos para conformar una app multiplataforma.
En el Slideshow vienen los ejemplos de cómo la aplicación es prácticamente la misma, sólo cambia el acceso a la base de datos.
MS Access apesta y no es multiplataforma, ¡Pero MySQL seeeee!
Ésta es la aplicación original por si la quieren corren en su amado IIS
y aquí está la nueva. También la BD en MS Access y la BD en MySQL.
Limpié un poco el código en la nueva Solución aparte de utilizar el CodeBehind, que en la vieja no se utiliza.
Para migrar la BD de Access usé mdb-tools con el frontend para Gnome
El esquema que arroja es el siguiente:
CREATE TABLE mitabla
(
clave int (4),
nombre varchar (100),
edad int (4),
);
En mi archivo MiBase.sql le agregué DROP TABLE IF EXISTS mitabla; al principio para que en caso de que ya existiera la BD no me mandara lejos.
Después migré los datos que contenia la base, que dicen mas o menos así:
INSERT INTO mitabla (clave, nombre, edad) VALUES (6,"rodrigo",28);
auuu!! !Ya tengo mi archivo SQL listo! Sólo falta agregarlo a mi Base de datos ya existente usuarios con el comandín:
mysql -u usuario -p < MiBase.sql usuarios
A grandes rasgos lo único que haría falta en la nueva aplicación seria cambiar la conexión a la base de datos como por ejemplo:
MS Access:
// Localizando base de datos
string ruta=Server.MapPath("../mibase.mdb");
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+ruta;
// Instanciando conexion
conexion = new OleDbConnection(strConnection);
MySQL:
// Tomando configuracion de BD en web.config
string credentials = ConfigurationManager.AppSettings["ConnectionString"];
// Instanciando conexion MySql
MySqlConnection conexion = new MySqlConnection();
Otro pequeño cambio para facilitar la conexion a la BD de MySQL fué incluir en el archivo web.config lo siguiente:
Dentro de <web.config> agregar:
<assemblies>
<add assembly="MySql.Data, Version=6.0.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</assemblies>
Después de <web.config> agregar:
<appSettings>
<add key="ConnectionString" value="Server=localhost;Port=3306;Database=usuarios;User ID=rodrigo;Password=rodrig0;Pooling=false" />
</appSettings>
Para que en cada archivo de codigo de la solución no se tenga que poner los datos de conexión… see, !Como una aplicación debe de ser!
Mucho ruido y pocas nueces… bueno ahí les van un screenshot de la aplicación corriendo:
Mis 2 centavos de hoy.
Gracias a Yazmín por el conecte y a la UNIVER Plantel Florido por la invitación que se ofreció al GUL Tijuana.
