127.0.0.1: Hogar dulce hogar

domingo, 2 de mayo de 2010

[ImagineCup] El Mundo En Silencio

Bueno, en el curro nos hacemos famosos. Aquí está un vídeo que grabó EuropaPress en el CEIEC de la UFV sobre nuestro trabajo y proyecto para la Imagine Cup 2010:

[eMeS] El Mundo en Silencio

¿Qué es El Mundo en Silencio?

El Mundo en Silencio (eMeS) es una iniciativa promovida y puesta en marcha por el CEIEC (Centro de Innovación Experimental del Conocimiento) de la Universidad Francisco de Vitoria para sensibilizar a la sociedad, y en especial a los más pequeños, sobre la realidad del mundo de la sordera. Esta sensibilización se lleva acabo a través de un videojuego, cuyo diseño se ha obtenido en un Concurso de Ideas abierto a todos.

Este proyecto de sensibilización social cuenta con la participación de Microsoft Ibérica y del Real Patronato sobre Discapacidad y los apoyos del Ministerio de Industria (a través del Plan Avanza) y de la Unión Europea a través de los fondos comunitarios (fondos FEDER). En la iniciativa colaboran también FIVED’09 e instituciones del mundo de la discapacidad auditiva: FIAPAS, ASPAS Córdoba, ANFASFuente…

El resultado de esta iniciativa es un videojuego de aventuras no violentas que recoge diversas situaciones de la vida cotidiana y de las limitaciones a las que se enfrentan diariamente las personas sordas y que transmite, de una forma lúdica, la idea de que el sordo es un miembro más (autónomo y con las mismas oportunidades) de la sociedad mayoritariamente oyente en la que vive.

Actualmente estoy trabajando en ese proyecto ocupando el rol de programador. Algunas de las cosas que he hecho van desde la cámara hasta la gestión de escena, pasando por el soporte para scripting y otras muchas pequeñas aportaciones.

El juego fruto de esta iniciativa, llamado Iredia se presenta a la Imagine Cup 2010. Por ahora hemos pasado la primera ronda quedando como los únicos representantes de España en la competición de Game Design.

El Mundo en Silencio: El Mundo En Silencio

[ADO.NET] Lectura de una tabla

ADO.NET proporciona una serie de métodos diversos para acceder a la base de datos y realizar transacciones. En este artículo se mostrará cómo se pueden leer datos de una tabla. Previamente se parte de la base de que la parte de realizar una conexión ya es conocida y está implementada.

Uno de los métodos para acceder a la tabla es empleando proveedores de datos. Estos proveedores permiten conectarse a diferentes motores de base de datos (OJBC, Sql Server, MySQL, Oracle, etc) y ejecutar comandos SQL de la misma forma que si estuviésemos en el cliente del motor.

Para la lectura de una tabla, se proporciona al clase DataReader que únicamente permite leer los datos. A través de esa clase ejecutaremos un comando que hemos insertado previamente, desde el cuál indicaremos la orden de SQL correspondiente (si es de lectura, sólo puede ser una SELECT en principio). Por lo tanto, una vez abierta la conexión nos encontramos con el siguiente código:

string query = "SELECT nombre FROM EQUIPO";
SqlCommand command = new SqlCommand(query, Conexion.Instancia);

Al comando se le introduce la sentencia que se desea ejecutar junto con la conexión que previamente hemos abierto. En el código de arriba, suponemos que tenemos una clase singleton que gestiona toda la conexión y que el SqlConnection lo obtenemos a través de Conexion.Instancia. A continuación el siguiente paso es ejecutar el comando y obtener las filas que se han leído, para lo cual usaremos el DataReader:

SqlDataReader sqlDataReader = command.ExecuteReader();

El comando al ejecutarse devuelve un puntero a los datos leídos, como si fuera un simple fichero que se desea abrir. Por ello el dataReader incorpora unos métodos similares. Para obtener los datos, usaremos el siguiente método:

while (sqlDataReader.Read())
{
//sqlDataReader[0];
//sqlDataReader[1];
}

Con este bucle seguirá leyendo hasta que finalice la consulta. Para obtener los datos accedemos a las sucesivas posiciones de sqlDataReader, donde cada posición representa una columna leída. Es de señalar que devuelve tipo object, por lo que hay que hacer una conversión explícita al tipo deseado.

Por último no te olvides de cerrar la conexión :)