You are on page 1of 14

Crea tu aplicacin VB .

Net + BD (Oracle, SQL Server, MySQL)


Este post esta enfocado a personas que estn inicindose en el mundo de la programacin (Con nociones de SQL y .Net), y presenta una gran tendencia del software, utilizar una base de datos. As que crea tu aplicacin VB .Net + BD. Que necesitamos para comenzar? Visual Studio .Net 2008 y trabajaremos con los gestores de BD ms utilizados en la actualidad (Drivers) el cul son SQL Server, Oracle y MySQL, as que comenzamos.

Un poco de teora:
conceptos:

Para enteder como funciona la tecnologia de ADO.Net necesitamos dejar claros algunos

Connection: Proporciona una conexin usada para comunicarse con la fuente de datos. Tambin acta como Abstract Factory para los objetos command. Command: Usado para realizar alguna accin en la fuente de datos, como lectura, actualizacin, o borrado de datos relacionales. Parameter: Describe un simple parmetro para un command. Un ejemplo comn es un parmetro para ser usado en un procedimiento almacenado. DataAdapter: Puente utilizado para transferir data entre una fuente de datos y un objeto DataSet (ver abajo). DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez. Como vern nos ofrece interactuar con una base de datos, sin importar el proveedor.

Crear la base de datos:


Lo primero ser crear una base de datos llamada Usuarios y una tabla llamada Datos con las siguientes caractersticas: ID Entero Autoincrementable Nombre Carcter No nulo Edad Entero No nulo Hobbies Carcter No nulo Y sern todos los elementos, nos enfocaremos al uso de la tecnologia ADO.Net en un ejemplo fcil pero entendible.

VB + SQL Server
Primero necesitamos crear un nuevo proyecto, y que sea una aplicacin de escritorio, al parecer este modo ser mas fcil, ya que SQL Server es el gestor de BD por defecto en la plataforma .Net. Sino estas muy bien familiarizado con bases de datos, puedes utilizar Microsoft SQL Server Management Studio en su versin express. Lo primordial ser disear nuestro formulario:

3 Botones y un Datagridview y un ComboBox con los valores por default : ID, nombre, edad, y hobby

Ahora lo verdaderamente importante, momento de pasar a programar :D Lo primero ser agregar los namespaces siguientes:

El namespace System.Data.SqlClient es el necesario para interactuar con la base de datos en el proveedor SQL Server

Una vez terminado, ahora declaramos las variables que utilizaremos.

Estn 2 muy importantes la variable strConexion y Conexion, la primera solamente es del tipo cadena y contiene la direccin de la base de datos, claro contiene ms informacin como el tipo de proveedor, el usuario y la seguridad empleada. El objeto Conexion es declarado del tipoSqlConnection y con parmetro el valor de strConexion. Las variables dtTabla y dsTabla ms adelante las utilizaremos. De donde obtenemos la cadena de conexin? Fcil, nos vamos al explorador de servidores que se encuentra en el men ver. Una vez que nos salga el men agregamos una nueva conexin.

Seleccionamos el origen de datos Microsoft SQL Server (SqlClient), el nombre del servidor es.\SQLEXPRESS que es nuestro proveedor, si todo sale bien en Seleccionar el nombre de la base de datos, debe aparacer la que se creo anteriormente, en este caso USUARIOS. En la ventana de propiedades se puede ver la propiedad Cadena de conexin, esa es la cadena que utilizaremos.

Ahora crearemos un procedimiento llamado Actualizar, este procedimiento no lleva parmetros y lo utilizaremos en el momento que se cargue el formulario, se ingrese un dato o se elimine, nos actualizara el DataGridView con los nuevos datos. En esta parte utilizaremos las variables antes declaradas dtTabla es del tipo DataTable representa una tabla con columnas y filas.

En este procedimiento al inicio llamamos al procedimiento clear() de dtTabla.Rows, con esto nos aseguramos que en el momento que se llame a la funcin este limpia. Inmediatamente se declara un SqlCommand llamado cmdDatos con los parametros Select * from Datos, y el objeto conexin, esta consulta siempre se realizara en el momento que se mande a llamar a cmdDatos, en este caso en el SqlDataAdapter, ahora se llama al procedimiento da.Fill(dtTabla) que se encarga de llenar dtTable con el valor arrojado por nuestra consulta que se encuentra en cmdDatos, en otras palabras, por todos los datos en la tabla. Al final el objeto DataGridView1 su origen de datos ser dtTabla.

Ahora en el evento Load del formulario, se llama al procedimiento Actualizar(). Con la finalidad de presentar todos los datos contenidos en la tabla al inicio del programa.

Ahora vamos a programar la parte de insertar datos.

En este cdigo al inicio declaramos un nuevo objeto llamado cmdInsertar del tipo SqlCommand, este objeto se encarga de ejecutar las consultas deseadas, dentro de el hay 3 tipos bsicos de ejecutar las consultas, la primera es ExecuteNonQuery se utiliza cuando una consulta no retorna algn tipo de valor (INSERT, DELETE, UPDATE), la segunda es ExecuteScalar y esta se utiliza cuando la consulta nos regresa solamente un valor, y la ltima es ExecuteReader y es cuando la consulta regresa mltiples valores. Declaramos nuestras variables del tipo cadena, y en InputBox recuperamos los valores. Despus creamos una instancia del objeto cmdInsertar ahora como parmetros la consulta y el objeto conexin, en esta consulta ingresamos los valores de nombre, edad, y hobby mediante parmetros. Siempre es importante ya que le da mas seguridad a nuestra consulta. Ahora se abre la conexin con el objeto Conexion.Open(), ejecutamos la consulta

concmdInsertar.ExecuteNonQuery(), actualizamos la informacin y cerramos la conexin. Como vern resulta bastante fcil.

Ahora programaremos la opcin de eliminar:

Cuando se quiere eliminar, por lo regular se posee la informacin del elemento, en este caso sere especifico. Vamos a eliminar por medio del ID que posee cada usuario en la base de datos. Se declara cmdEliminar del tipo SqlCommand, y un ID de tipo entero. En ID se almacena el valor que el usuario desea eliminar. Tenemos una condicin, si no hay elementos en la tabla no podemos eliminar, eso se hace contando cuantos elemento posee la tabla con el

procedimientodtTabla.Rows.Count, en caso de haber elementos creamos una instancia de SqlCommand con la consulta Delete from Datos Where Id=@id, tambin estamos mandando por parmetro el valor de ID, abrimos la conexin, ejecuamos la consulta, actualizamos y cerramos la conexin.

Por ltimo y no menos importante, la opcin de buscar:

Aqu tenemos las variables Valor y Criterio, porque? el criterio es el valor que el usuario selecciona como bsqueda (id,nombre,edad,hobby) y valor obviamente es lo que se va a buscar. Hay una condicin en el procedimiento, esta programada cuando se selecciona el Id u otro criterio de bsqueda, un id es un valor que no se debe repetir, se puede repetir datos ms no id, al momento de buscar el id debemos ser especficos, por eso esta el =. Pero si buscamos por otro criterio se utiliza la clausula LIKE donde los valores encontrados son todos aquellos que coincidan con el valor de bsqueda.

Ejecutamos y listo! Tenemos una aplicacin que se conecta a una BD en SQL Server 2005 La tecnologia de ADO.Net nos facilita esta conexin, es momento de hacerlo para MySQL y Oracle. Se daran cuenta que gran parte del cdigo se reutiliza y nada ms se cambian los objetos

VB + MySQL

del namespace SystemData.SqlClient

Reutilizaremos el mismo formulario, pero antes de empezar a programar es importante que descarguen el driver de MySQL para .Net y su motor de base de datos Conector http://dev.mysql.com/downloads/connector/net/

Motor BD MySQL http://dev.mysql.com/downloads/mysql/

Una vez descargados, crearemos la base de datos usuarios, con la tabla datos y los mismos tipos de datos.

Despues de instalar el motor de base de datos, y el conector, en el proyecto de Visual Studio debemos agregar la referencia MySQL.Data, ese es el namespace que utilizaremos. Esto desde el men Proyecto -> Agregar referencia

Tambin debemos poseer la cadena de conexin, de esta manera: Ingresando directamente esta cadena Server=nuestro_servidor;Database=NombreBD;Uid=Usuario;Pwd=Contrasea;

Agregamos nuestros namespaces y se darn cuenta que los objetos de esta clase no son tan diferente al de la clase SqlClient

Los elementos diferentes entre ambas clases son que en SqlClient tenemos a SqlConnection, SqlDataAdapter, SqlCommand Y en la clase Mysql.Data.SqlCliente son MysqlConnection, MysqlDataAdapter, MysqlCommand. Como vern no son grandes cambios al cdigo xD.

Agregar:

Eliminar:

Buscar:

Y el procedimiento Actualizar Como ven Es fcil, no? Ahora vamos con Oracle

VB + Oracle
Ya para finalizar este tutorial, vamos con el proveedor Oracle. Lo primero es descargar Oracle en su versin 11g y el Oracle Data Provider para .Net.

Oracle Data Provider http://www.oracle.com/technetwork/topics/dotnet/index-085163.html Oracle Express Edition http://www.oracle.com/technetwork/database/express-edition/downloads/index.html

En este ltimo ejemplo utilizaremos el mismo diseo del formulario. Ademas crearemos en Oracle la base de datos con las mismas caractersticas que las anteriores. Importamos el namespace indicado:

Pero sin antes agregar la referencia Oracle.DataAcess.dll a nuestro proyecto. Y su cadena de conexin: Data Source=Nombre_BD;User Id=Usuario;Password=Contrasea Cdigo: Declaramos nuestras variables

Agregar:

Eliminar:

Buscar:

Actualizar:

You might also like