Clase MysqlCommand

Luego de establecer la conexion se pueden realizar operaciones sobre la base de datos con un objeto llamado comando, un objeto MySqlCommand representa una sentencia SQL que será ejecutada en un servidor MySQL.
MySqlCommand cmd = new MySqlCommand();
string strCmd = “Alguna sentencia a ejecutar”;
cmd.CommandText = strCmd;

Después de crear la acción a ser ejecutada, se tiene que especificar la conexión que será utilizada. Para asignar el objeto conexión al objeto comando se dispone de una propiedad MySqlCommand.Connection.
Después de establecer una conexión y especificar el comando adecuado, lo podemos ejecutar. Para hacer esto la clase MySqlCommand esta equipada con diversos métodos que están relacionados con el tipo de consulta a ejecutar. Dos de estos métodos son ExecuteNonQuery() y ExecuteReader(). El método ExecuteNonQuery() ejecuta una sentencia SQL y regresa el número de filas afectadas. El método ExecuteReader() manda la consulta y construye un objeto MySqlDataReader. El primer método será usado comúnmente con sentencias INSERT, DELETE, UPDATE y el segundo método con sentencias SELECT.

Anuncios

MYSQL en .NET

No es que me estoy uniendo al lado oscuro, no solo que en la universidad estamos trabajando con .Net usando Sharp Develop y con la base de datos libre Mysql que dicho sea de paso es bastante vapuleada por mi profesor por sus defectos de seguridad.

Bueno para empezar hay que descargar el conector de Mysql para .NET desde esta direccion http://dev.mysql.com/downloads/connector/net/ y luego instalarlo. Bueno ahora hay que ver un poco de las clases del conector:

El Connector/Net contiene varias clases que son usadas para conectar a la base de datos, ejecutar consultas y sentencias y manejar resultados de consultas.

MySqlCommand.-Representa una sentencia SQL a ejecutar sobre una base de datos MySQL.

MySqlConnection.-Representa una conexión a un servidor de base de datos.

Bueno luego ire describiendo mas acerca de las demas clases pero por el momento solo me interesan estas nada mas.

Para crear las conexiones se utiliza la clase MySqlConnection que está definida en el espacio de nombres MySql.Data.MySqlClient. Antes de usar esta clase primero debe incluir dicho espacio de nombres en nuestro archivo.

using MySql.Data.MySqlClient;

Luego creamos el objeto MysqlConnection:
MySqlConnection conn = new MySqlConnection(“clave1=valor1;clave2=valor2;claveN=valorN”);

MySqlConnection conn = new MySqlConnection(Server=localhost;Database=prueba;Uid=miguel;Pwd=miguel)

Luego de crear la cadena de conexion hay que intentar establecer la conexion para ello se invoca al metodo Open() de la clase MysqlConnection

Como se puede observar, este método no toma ningún argumento. El objeto conexión que lo invoque es el responsable de tener lista la cadena de conexión. Si la conexión falla, se lanzará una excepción del tipo MySqlException. Si la cadena de conexión no contiene una fuente de datos o un servidor, se lanzará una excepción InvalidOperationException.

Para cerrar la conexion se invoca al metodo Close()
conn.Close();

Aprendiendo MVC

Debido a que me estoy involucrando en proyectos de desarrollo de software con java y que mi nivel es vergonzosamente pesimo me he puesto a estudiar algo de arquitecura de software, y bueno a ver que me resulta ojala que me vaya bien:

¿Que es MVC?

La lógica de un interfaz de usuario cambia con más frecuencia que los almacenes de datos y la lógica de negocio. Si realizamos un diseño ofuscado, es decir, que mezcle los componentes de interfaz y de negocio, entonces la consecuencia será que, cuando necesitemos cambiar el interfaz, tendremos que modificar trabajosamente los componentes de negocio. Mayor trabajo y más riesgo de error.
Se trata de realizar un diseño que desacople la vista del modelo, con la finalidad de mejorar la reusabilidad.

Elementos del patrón:

* Modelo: datos y reglas de negocio
* Vista: muestra la información del modelo al usuario
* Controlador: gestiona las entradas del usuario

1. El modelo es el responsable de:
* Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.
* Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: “Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del proveedor”.
* Lleva un registro de las vistas y controladores del sistema.
* Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero bath que actualiza los datos, un temporizador que desencadena una inserción, etc).

2. El controlador es responsable de:
* Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
* Contiene reglas de gestión de eventos, del tipo “SI Evento Z, entonces Acción W”. Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al método “Actualizar()”. Una petición al modelo puede ser “Obtener_tiempo_de_entrega( nueva_orden_de_venta )”.

3. Las vistas son responsables de:
* Recibir datos del modelo y los muestra al usuario.
* Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
* Pueden dar el servicio de “Actualización()”, para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).

Fuente: http://www.proactiva-calidad.com/java/patrones/mvc.html

Configurando mi tarjeta de video

Primero busque los drivers de nvidia y me instale el nvidia-glx pero al reiniciar las X tuve problemas asi que tuve que eliminar ese paquete y reconfigurar el server, luego al reiniciar las x normalmente me salio un aviso que si deseaba instalar el nvidia-glx-legacy para tarjetas antiguas y le puse que si se descargo unos paquetes del synaptic y listo quedo mi tarjeta configurada con aceleracion grafica. Ahora ya puedo jugar open arena y otros mas ademas de poder configurar mi compiz fusion.