Con motivo de seguir aprendiendo a utilizar herramientas libres, he realizado un pequeño proyecto de altas y bajas utilizando el IDE Monodevelop con el motor de base de datos MySql.
Vamos a comenzar por explicar como conectar MySql con Mono. Para ello necesitaremos descargarnos la siguiente dll. Download MySql.dll.
Instalamos MySql.Dada.dll tecleando en consola:
# gacutil -i MySql.Data.dll
Creamos un nuevo proyecto y del lado izquierdo damos click derecho donde dice Referencias y le damos en Editar preferencias… .

En la pestaña de paquetes, palomeamos donde dice System.Data

Pasamos a la pestaña de Ensamblado .NET y buscamos el archivo MySql.Data.dll , lo seleccionamos y presionamos el botón Añadir.

Ahora solamente faltaría añadir unas librerias ya en nuestro proyecto:
Using System.Data;
Using MySql.Data.MySqlClient;

Con ello ya podemos empezar a programar y conectar a MySql. Como primera práctica que realicé, hice un pequeño proyecto de Altas y Bajas.
El programa es algo sencillo y esta algo verde, pero como primer programa creo que es muy útil ya que viene lo esencial para comenzar a realizar un proyecto grande.
Para correr bien el programa, hay que crear una nueva base de datos llamada prueba y crearle una tabla con el siguiente script:
CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(10) NOT NULL, `nombre` varchar(150) collate latin1_spanish_ci NOT NULL, `apellidos` varchar(200) collate latin1_spanish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci COMMENT='Tabla de Usuarios';
Como ven, es una tabla sencilla de tan solo 3 campos, id qué es el número de control de usuario a ingresar, el campo de nombre y apellido. Hay que modificar la sección de conexión con su nombre de usuario y password de mysql. Creo que no debe de haber ningún problema para entender el programa, algunas partes les puse comentarios para ir explicandolas, aquí dejo algunas operaciones que creo son las más importantes:
Sección de conexión con la base de datos:
string conexion =
"Server=localhost;" +
"Database=prueba;" +
"User ID=root;" +
"Password=tupass;" +
"Pooling=false";
IDbConnection dbcon;
dbcon = new MySqlConnection(conexion);
dbcon.Open();
Sección de insertar usuario, donde control, nombre y apellido son tomados de cajas de texto:
IDbCommand dbcmd = dbcon.CreateCommand();
string sql= "INSERT INTO `prueba`.`usuarios` (`id` ,`nombre` ,`apellidos`) VALUES ( '"+ control +"' ,'"+ nombre +"','"+ apellido +"');";
dbcmd.CommandText= sql; //se manda el query
dbcmd.ExecuteReader(); // se ejecuta el query
dbcon.Close(); // se cierra la conexión
Eliminar usuario:
IDbCommand dbcmd = dbcon.CreateCommand(); string sql = "DELETE FROM `usuarios` WHERE `usuarios`.`id` = '"+ control +"';"; dbcmd.CommandText= sql; dbcmd.ExecuteReader(); dbcon.Close();
Aquí les dejo el proyecto para la descarga, espero y les sea de utilidad, queda libre de modificaciones y mejoras.
May 6, 2008 | Etiquetado en: | 7 Comments RSS feed para los comentarios de esta entrada. TrackBack URI
Todos los derechos reservados. Tecnologia.
mira, sigo lo que me dices pero me sale el sigueinte error:
Unable to connect to any of the specified MySQL hosts
no se si me podrias ayudar, por que no me conecta…
Comentario por Invitado — May 7, 2008 #
Probablemente no este corriendo mysql, hay que teclear como root lo siguiente:
# /etc/init.d/mysql start
Comentario por Antonio Martínez — May 8, 2008 #
También es necesario instalar la dll con el siguiente comando como root:
Comentario por Antonio Martínez — May 8, 2008 #
Tambien se puede instalar el paquete monodevelop-database.
Creo que te permite la conexion con PostgreSQL, Sqlite, MySql y SqlServer.
http://bmotmans.blogspot.com/2007/08/monodevelop-database-addin.html
Comentario por Eliu Yeverino Adame — June 8, 2008 #
Para poder efectuar la conexion con la base de datos, tenes que instalar mysql server y client, configurar la clave de root, crear la tabla, modificar el codigo colocando la clave que estableciste en la instalacion de mysql y listo.
Comentario por Invitado — September 16, 2008 #
no puedo descomprimir el archivo .tar.gz de la dll para empezar a conectarme a la base de datos me marca que no es un archivo conocido
estoy usando el fedora 10 como distribucion y al momento de querer descomprimirlo con el comando
tar -zxvf
que puedo hacer, alguien puede publicar un link donde venga bien esa dll?
Comentario por BigMander — February 15, 2009 #
Tienes razón, parece que hay algún problema, gracias por reportalo, en estos momentos voy a subir de nuevo la dll
Comentario por Antonio Martínez — February 15, 2009 #