Curso ADO.NET con Mono y MySQL – Rellenando un DataSet

Posiblemente, leer hacia delante sea una opción muy interesante en algunas ocasiones… pero en otras muchas no lo será y tendremos que recurrir a los versátiles DataSet. Haremos un uso básico de los mismos en este ejemplo, porque como os he dicho ya sus posibilidades son realmente amplias. Insertaremos un nuevo concepto, el de la clase MySqlAdapter que será quien se encargue de rellenar el DataSet a través del comando que ejecute el SELECT.

Previamente deberemos incluir la referencia a nuestro proyecto para el ensamblado System.Data que lo encontraréis dentro del menú de referencias en la pestaña “Paquetes”. En el comienzo del fichero también deberéis rellenar su respectivo using System.Data.

Una vez hecho esto, para rellenar el DataSet sólo tendremos que hacer:

Leer más » 1 Comentario

Curso ADO.NET con Mono y MySQL – Primeras consultas

La clase que utilizaremos ahora será MySqlCommand y nuestra primera consulta, será una inserción sobre la base de datos. Insertaremos un registro más. La secuencia de pasos a efectuar es la siguiente:

  1. Creamos la consulta y la asignamos a una cadena
  2. Creamos el comando con la consulta que acabamos de crear
  3. Asignamos la conexión pertinente al comando
  4. Lo ejecutamos

Ampliando nuestro ejemplo, quedaría así:

public static void Main(string[] args)
{
	MySqlConnection conexion = new MySqlConnection();
	conexion.ConnectionString = "database=linuxhispano;
server=localhost;user id=root; pwd=contraseña";
	conexion.Open(); 

	try
	{
		string consulta = "INSERT INTO ejemplo (numero , tema)
 VALUES ('27', 'Sonido')";
		MySqlCommand comando = new MySqlCommand(consulta);
		comando.Connection = conexion;
		int resultado = comando.ExecuteNonQuery();
		Console.WriteLine("Filas afectadas : "
 + resultado.ToString());
	}
	catch(MySqlException exc)
	{
		Console.WriteLine("Ocurrió un error : " + exc.Message);
	}
	finally
	{
		conexion.Close();
	}
}

Como se puede apreciar, hemos cuidado que se finalice la conexión aunque existan errores, con finally y hemos controlado los posibles errores que aparezcan. En nuestro caso debería decir: “Filas afectadas: 1”, puesto que la inserción sólo realiza una.

Leer más » 2 Comentarios

Curso ADO.NET con Mono y MySQL – DataSet, DataTable, DataColumn y DataRow

La potencia de ADO.NET es proporcional al número de conceptos que lo rodean, así que en esta entrada como hemos dicho haremos una visión introductoria, pero espero que suficiente para comenzar a profundizar más en el tema.

Uno de los aspectos esenciales de ADO, como no podía ser de otra manera, es la interacción directa con los datos provenientes de las bases de datos. Para comenzar a operar con ello os presento estas cuatro clases: DataSet, DataTable, DataColumn y DataRow; conjunto de datos, tabla de datos, columna de datos y fila de datos, respectivamente.

Un conjunto de datos, es un objeto que almacena datos, en forma de tablas por ejemplo, y que pueden provenir de distintos orígenes. Una tabla de datos, es el objeto que almacena los datos de, una consulta, por ejemplo, en forma de tabla en la memoria y a la que podremos acceder, básicamente, a través de sus filas y columnas. Todas estas clases suelen tener una representación física en la base de datos, pero no tiene que ser así siempre, y podemos trabajar de manera asíncrona con la base de datos o directamente con datos provenientes de otras fuentes como por ejemplo ficheros XML.

Leer más » 1 Comentario

Comprobar de qué tipo es una variable u objeto en C#

Cuando tenemos un objeto de tipo genérico Object en C#, podemos hacer con él las operaciones básicas de cada objeto pero en ocasiones, necesitaremos convertirlo en un objeto menos abstracto para poder hacer operaciones más concretas.

Aunque esta entrada no forma parte del curso de Mono, sí está muy relacionada con esta entrega dedicada a tipos de datos.

Si tenemos una variable u objeto y no sabemos su tipo con seguridad, disponemos de dos métodos que usaremos para ver cuál es realmente el tipo del mismo. Veamos:

Por ejemplo, ¿cómo saber si el objeto “auxiliar” es un entero con signo de 32 bits (el entero más estándar, el que usamos al poner int simplemente)?

Leer más » 4 Comentarios

Curso ADO.NET con Mono y MySQL – Creación del proyecto

Nos dirigimos a MonoDevelop y creamos una solución nueva, en C#, para consola. Elegís el nombre, el que le he puesto para el ejemplo es: ejemplo_mono_ado. Os aparecerá en pantalla un fichero de nombre: Main.cs junto a un árbol a la izquierda con características de la solución. Una de ellas, las referencias es donde importaremos el ensamblado.

Antes de seguir sería conveniente que copiarais al directorio del proyecto el fichero “mysql.data.dll” que venía dentro del paquete comprimido del conector. Os dirigís a referencias y haciendo clic sobre el mismo título “Referencias”, elegís “Editar referencias…”. De las tres pestañas que aparecen en el diálogo elegís “Ensamblado .NET” y os dirigís al directorio del proyecto o donde tengáis guardado el fichero. Lo elegís y lo añadís.

Aspecto interfaz MonoDevelop

Leer más » 6 Comentarios

Curso ADO.NET con Mono y MySQL – Preparación e instalación

Pasado más de un mes desde la entrada que anunciaba este curso, volvemos a la carga, veamos.

Antes de nada, de forma básica, vamos a revisar qué necesitamos, cómo obtenerlo y en caso necesario, cómo configurarlo. En este momento ,creo conveniente señalar que utilizaremos MonoDevelop,el entorno de desarrollo integrado para Mono más popular, en lugar de utilizar directamente el compilador, mcs; para centrarnos directamente en el desarrollo con ADO y dejar de lado los detalles que no son necesarios.

Logo MonoDevelop

Mono y MonoDevelop

En función de la distribución que utilicéis, las circunstancias particulares cambiaran, pero básicamente os comento dos alternativas que probablemente os sirvan prácticamente a todos. La primera es dirigiros a vuestro gestor de paquetes y buscar los paquetes correspondientes. Como monodevelop, que será más o menos así el nombre del paquete, depende de Mono, si elegís éste se os seleccionaran los demás paquetes necesarios para desarrollar y ejecutar programas con Mono. Es decir, básicamente instalando MonoDevelop a través del paquete homónimo, tendréis todo preparado. Además, es más que probable que tengáis instalado Mono en vuestro equipo por defecto. Por ejemplo, el entorno de escritorio Gnome utiliza esta tecnología ampliamente.

Leer más » 8 Comentarios

Curso ADO.NET con Mono y MySQL – Introducción

El desarrollo de software es una labor en la que intervienen tal cantidad de variables que debemos siempre conocer el mayor número de tecnologías distintas para poder dar siempre la mejor respuesta en cada caso. Muy frecuentemente, es necesario desarrollar un sistema software que sea multiplataforma, a la vez que trate con muchos datos situados en un servidor de datos ajeno. Para estos casos es idóneo utilizar el binomio Mono y MySQL.

Las facilidades que provee una tecnología multiplataforma de alto nivel como Mono, unido a la integración en el mismo de MySQL a través de un conector nativo para ADO.NET, hacen que tengamos al alcance de nuestra mano un binomio de software libre con una potencia envidiable. Siempre tenemos otras opciones también libres, como Java en el caso de tecnología de desarrollo multiplataforma; y otras bases de datos como PostgreSQL para arquitecturas cliente-servidor, o SQLite para máquinas locales, que gozan de muy buena salud. read more

Leer más » 11 Comentarios

Curso programación de videojuegos con SDL – Conclusiones. ¿Quién usa SDL?

El resultado no es en absoluto profesional, pero espero que este ejemplo os haya demostrado lo fácil (o al menos no tan difícil) que puede llegar a ser desarrollar un juego. Existen otras muchas maneras de hacerlo, pero SDL es quizás la alternativa más potente en dos dimensiones de las que existen en el universo del software libre. Recordando siempre que podemos usarla conjuntamente con OpenGL para conseguir gráficos tridimensionales.

Otras opciones además de Allegro y ClanLib de las que he hablado, son por ejemplo plataformas destinadas expresamente al desarrollo de videojuegos, como el Proyecto Fénix (el compilador alternativo al famoso DIV propietario). Sin embargo, como ya comenté anteriormente, estas opciones pueden parecer más fáciles pero son menos potentes que SDL. read more

Leer más » 4 Comentarios

Curso programación de videojuegos con SDL – Creando continuidad

Finalmente, sólo nos queda darle continuidad a nuestro juego. En función de los objetivos que nos habíamos propuesto, es que los aviones vuelvan a aparecer por la parte superior de la pantalla una vez lleguen al final. Esto es bastante simple ya que solamente tenemos que copiar y pegar la inicialización de los aviones enemigos dentro de una condición que compruebe si ha llegado ya al final de la pantalla por la parte inferior. read more

Leer más » 7 Comentarios

Curso Java – 8. Bucles

Un bucle es una sentencia que realiza varias veces un conjunto de código. Se repite tantas veces hasta que la condición asignada al bucle deje de cumplirse.

Los bucles se utilizan para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.

For

El bucle for es la estructura de control donde se indica un número mínimo de iteraciones. Es la más popular y utilizadas en casi todos los lenguajes de programación iterativos. read more

Leer más » 5 Comentarios