Sei sulla pagina 1di 3

ESQUEMAS DE TRABAJO EN ADO.NET Existen dos formas de trabajo: una es la forma conectada y la otra forma es la desconectada. 1.

Trabajando en Forma Conectada: Definicin: esto significa mantener siempre la conexin abierta para ejecutar cualquier instruccin contra el origen de datos. ADO.NET usa los objetos Connection, DataAdapter, Command y DataReader en forma conectada Usos Este esquema de trabajo se usa en aplicaciones en lnea o dinmicas, donde cualquier cambio sobre los datos debe registrarse inmediatamente sobre la Base de datos. Entre algunos ejemplos de aplicaciones que usan este modelo tenemos: Sistema de cajero automtico para manejo de cuentas de banco Sistema de ventas para un sper mercado Sistema de matrcula para una universidad En general, cualquier aplicacin Windows

Ventajas Trabajar en forma conectada trae las siguientes ventajas: La informacin se actualiza en el instante en que se ejecuta la instruccin SQL, por tanto siempre se trabaja con los ltimos datos. Velocidad de ejecucin de las instrucciones por estar la conexin previamente abierta

Desventajas Trabajar en forma conectada trae las siguientes desventajas: Consumo de memoria en el servidor de datos por estar la conexin siempre abierta El nmero de licencias es limitadas por lo que las conexiones deben manejarse con cuidado para no exceder el limite Modelo de Trabajo Para trabajar en forma conectada se puede seguir el siguiente modelo de trabajo o patrn: Crear un objeto de conexin mediante la clase Connection. Dim conx As New SqlConnection(cadena_conexion) Abrir la conexin usando el mtodo Open del objeto Connection. Conx.Open()

Crear un objeto comando mediante la clase Command. Dim cmd As New SqlCommand(, conx) Para ejecutar un comando de seleccin que devuelva varios campos usar un objeto de tipo DataReader y ejecutar el comando con el mtodo ExecuteReader. cmd.CommandText=Select * from Tabla Dim drd As SqlDataReader=cmd.ExecuteReader

Para ejecutar un comando de seleccin que devuelva un simpe valor usar el mtodo ExecuteScalar. cmd.CommandText=Select Count(*) from Tabla Dim valor As Integer=cmd.ExecuteScalar

Para ejecutar un comando de insercin, actualizacin o eliminacin de registros usar el mtodo ExecuteNonQuery. cmd.CommandText=Insert |UpDate |Delete Dim registrosafectados As Integer=cmd.ExecuteNonQuery

Despus de ejecutar los comandos o instrucciones SQL sobre el origen de datos cerrar la conexin mediante el mtodo Close del objeto Connection. Conx.Close()

A.

Manejando la Conexin: Aqu veremos como conectarnos al SQL Server usando el Proveedor de SQL y a manejar los eventos de conexin. a) Clase SqlConnection: Propiedades: ConnectionString: obtiene o establece la cadena utilizando para abrir una base de datos de SQL Server. Database: obtiene el nombre de la base de datos actual o de la que se va utilizar una vez que se abre la conexin ServerVersion: obtiene una cadena que contiene la versin de la instancia de SQL Server a la que se conecta el cliente WorkstationId: Obtiene una cadena que identifica el cliente de Bases de datos. Metodos: Close: Cierra la conexin de la base de datos. Este es el mtodo recomendado para cerrar conexiones abiertas.

Open: abre una conexiona de base de datos con la configuracin de las propiedades especificada en ConnectionString.

ChangeDatabase: cambia la base de datos actual por un SqlConnection abierto.

CreateCommand: crea y devuelve un objeto SqlCommand asociado a SqlConnection

Eventos: StateChange: se produce cuando el estado de la conexin cambia. InfoMessage: se produce cuando SQL Server devuelve un mensaje informativo o de advertencia. b) Conectndose al SQL Server Para conectarse a un servidor SQL debemos realizar los siguientes pasos: Definir el Namespace del proveedor de SQL: Imports System.Data.SqlClient Declarar una variable del tipo SqlConnection pasando como parmetro en el constructor la cadena de conexin: Dim conx As New SqlConecction(uid=usuario; pwd=contrasea; server=servidor; database=basededatos) Abrir la conexin usando el mtodo Open del objeto SqlConnection Conx.Open() Ejecutar comandos sobre la conexin abierta y al final cerrar la conexin mediante el mtodo Close del objeto SqlConnection Conx.Close()

Potrebbero piacerti anche