martes, 22 de enero de 2008

Conectarse a un Base de Datos mediante el Archivo de Configuracion

Como dice el titulo en este Post trataremos de obtener datos de nuestra BD mediante esta técnica.
Primero que nada para poder hacer esto en nuestro proyecto debemos tener el archivo de configuracion App.config (para los WindowsForms) o web.config (para las paginas de ASP.Net).

Si se fijan en este archivo hay una seccion que contiene la cadena de conexion a la BD y para esta cadena le corresponde un valor, es decir, de la forma clave - valor. Pero veamos un ejemplo de un archivo de configuración:

Para las aplicaciones de tipo WindowsForms:
. . .
applicationsettings
pruebavb.my.mysettings
setting name="PruebaCS" serializeAs="String">
Data Source = LOCALHOST\SQLEXPRESS; Initial Catalog = MIBASEDEDATOS; Integrated Security = True
setting
pruebaVB.My.MySettings
applicationsettings
. . .

Para los web.config (aunque también funciona para los WindowsForms):

connectionstrings
add name="conexion"
connectionString="Data Source=LOCALHOST\SQLEXPRESS;Database=MIBASEDEDATOS;Integrated Security=True;user id=sa;password="
providerName="System.Data.SqlClient"/>
connectionstrings

Una vez que tenemos esto en nuestro archivo de configuración, lo que sigue ahora es obtener esos valores de las cadenas de conexion:

VB

Dim str as String
str = Global.pruebaVB.My.MySettings.Default.PruebaCS


C#

String str;
str = global::pruebaVB.Properties.Settings.Default.PruebaCS


ASP

Dim str As String = ConfigurationManager.ConnectionStrings("cadenaDeConexion").ConnectionString

Despues de almacenar las cadenas de conexion ya lo demas es bastante facil. Nos conectamos a nuestra BD y estraemos los datos. A continuacion voy a mostrar el codigo de como hacer la conexión una vez obtenida la cadena:

Dim cnn as SqlConnection = New SqlConnection(str)
Dim cmd as SqlCommand = New SqlComand()
try
cnn.Open ()
cmd.Connection = cnn;
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT * FROM Tabla"
. . .
Catch ex as Exception
. . .
Finally
cnn.Close()
End Try

Con este pequeño codigo ya establecemos la conexion con nuestra BD. Para extraer los datos ya lo dejo al gusto del lector extraerlos por medio de DataAdapters o DataReaders.
Y así una vez extraidos los datos estan listos para mostrarselos al usuario.

Espero este post les alla ayudado. Se aceptan comentarios.

sábado, 19 de enero de 2008

El objeto My.Application

Hola como les habia comentado en el post anterior ahora hablaremos de el objeto My.Application del espacio de nombres (namespace) My.
El My.Application es muy util para obtener información acerca de la aplicación que estamos desarrollando. Dicha información se podrían mostrar en una ventana de tipo About o Bienvenida (Splash en Visual Studio 2005).
Algunas propiedades y eventos de My.Application se habilitan solo si se marca el checkbox Enable Application Framework (habilitar marco de trabajo de la aplicación) en la solapa Application de las propiedades del proyecto.


Habilitando el Application Framework.

Ahora comentare algunas de las principales propiedades, métodos y eventos de este objeto. No mostrare todos, ya dejo al lector investigar los faltantes para un mayor conocimiento. Entro las principales propiedades, métodos y eventos estan:
  • ApplicationContext: Obtien el objeto ApplicationContext para el subproceso actual de una aplicación de Windows Forms.
  • Culture: Obtiene la referencia cultural que utiliza el subproceso actual para la manipulacion y el formato de las cadenas:
  • Info: Devuelve un objeto My.Application.Info, que proporciona las propiedades para obtener la información sobre el ensamblado de la aplicacion.
  • OpenForms: Obtiene una colección de los formulariios abiertos de toda la aplicación.
  • ... entre otros.
Ahora veremos un pequeño ejemplo donde obtendremos la informacion de la aplicación y lo mostraremos en un MessageBox.
  • Primero configuramos el Assembly Information. Para ello nos vamos a las propiedades del proyecto y en la solapa Application presionamos el boton que dice Assembly Information.
Assembly Information
  • Luego escribimos el siguiente codigo en el evento Load de nuesto Formulario:
Dim strApplication As New System.Text.StringBuilder

With My.Application.Info
'obtiene el nombre sin extension del archivo de ensamblado de la aplicacion
strApplication.AppendLine("Nombre del Ensamblado: " & .AssemblyName)
'obtiene el directorio dde esta almacenado la aplicacion
strApplication.AppendLine("Directorio: " & .DirectoryPath)
strApplication.AppendLine(New String("-", 80))
'obtiene el nombre de la compañia asociado a la aplicacion
strApplication.AppendLine("Nambre de la Compañia: " & .CompanyName)
'obtiene el copyright asociado a la aplicacion
strApplication.AppendLine("Copyright: " & .Copyright)
'obtiene la descripcion asociada a la aplicacion
strApplication.AppendLine("Descripcion: " & .Description)
'obtiene el nombre del producto asociado a la aplicacion
strApplication.AppendLine("Nombre del Producto: " & .ProductName)
'titulo asociado a la aplicacion
strApplication.AppendLine("Titulo: " & .Title)
'obtiene el aviso de marca comercial asociado a la aplicacion
strApplication.AppendLine("Trademark: " & .Trademark)
'obtiene el numero de version
strApplication.AppendLine("Version: " & .Version.ToString)
strApplication.AppendLine(New String("-", 80))
'cantidad de memoria fisica asociado al contexto del proceso
strApplication.AppendLine("Memoria: " & .WorkingSet.ToString)
End With

MessageBox.Show(strApplication.ToString())

Ahora solo nos queda ejecutar el ejemplo para poder ver la información del ensamblado.

Hasta la proxima.

viernes, 18 de enero de 2008

My Namespace

Hola de nuevo en esta ocasión voy a hablar un poco de una nueva mejora en la version 2005 de Visual Basic. El espacio de nombres (Namespace) My.
En versiones anteriores de .NET una de las tareas principales de los desarolladores era aprender las clases base del framework lo cual se podría tornar algo complejo sino se conocía los namespace donde se encontraban los objetos que se iban a neceseitar.
Para facilitar este acceso se creo el namespace My. El namespace My permite el acceso a diferentes elementos del framework por categorias de las cuales las principales son:
  1. My. Application: proporciona la informacion acerca de la aplicación que se esta ejecutando, tal como el título, el directorio de ejecucuión, la versión, variables de entorno, etc.
  2. My.Computer: proporciona información ahacerca del hardware y a la plataforma de la máquina local.
  3. My.Forms: expone una propiedad por cada formulario definido en el proyecto, proporcionando el acceso a la instancia por defecto de aquél, sin necesidad de tener que crear explicitamente un objeto de clase.
  4. My.Resources: expone los recursos de la apliación definidos en este mismo.
  5. My.Settings: expone una propiedad por cada valor de configuración definido en el proyecto.
  6. My.User: contiene información acerca del usuario actual.
  7. My.WebServices: proporciona el acceso a cada WebService referenciado en el proyecto y posibilita su utilización sin tener que crear, de manera explícita, un objeto del mismo.
Bueno, este fue una pequeña introducción general sobre este espacio de nombre. En posts posteriores explicare como funciona cada uno.

miércoles, 2 de enero de 2008

Mi primer Post

Hola a todos. Bueno les comento que casi no me gustaba mucha la idea de los blogs, pero ultimamente ya le busque sentido. En este espacio pondre varios post hacerca de la Teconologia .Net, así como ejemplos, articulos, codigos, y todo lo relacionado a esta tecnología.

Mi primera experiencia con .Net fue en VB 2003 al programar una aplicacion para una escuela de mi localidad y de ahi en adelante me llamo la atención tanto VB, C# y ASP.

Este espacio igualmente esta abierto a sugeriencias acerca de las notas que se añadan para poder mejorarlas o debatir. Es un espacio para los aficionados y los que todavia comienzan en .Net.

Saludos