You are on page 1of 8

Curso

: Visual .Net II

Pg. 1

Conexiones Ado.Net
Conceptos Generales: En muchas ocasiones nos hemos preguntado cmo es posible las conexiones y cuantas veces puedo hacer una, la respuesta es sencilla, las codificaciones de Visual .Net con respecto a este tema con muy cortas, es decir solo es suficiente tener la cadena de conexin lista para que inmediatamente tengamos una conexin directa con la base de datos (SQL) y realizar las transacciones necesarios en un proyecto basado en Visual Net.

Curso

: Visual .Net II

Pg. 2

Curso

: Visual .Net II

Pg. 3

Despus de observar los conceptos general acerca del .Net Procederemos a realizar nuestras conexiones, es decir aprenderemos de diversas formas y optaremos por la mejor, con la cual las usaremos en nuestros proyectos. Conexin a Nivel de Formulario: es decir solo el formulario donde se defina la cadena de conexin podr usarlo, si otro formulario desea usar una conexin, este deber definir su propia cadena y as sucesivamente. EJEMPLO N 1 Este ejemplo es simple, pero cumple las expectativas de conectarse y desconectarse de una base de datos.
Este formulario solo tiene dos objetos Buttons: BTNConectar y BTNDEsconectar, cada uno de ellos posee un cdigo de conexin y desconexin, para garantizar el xito del ejemplo siga los pasos al pie de la letra y saque sus propias conclusiones.

Curso

: Visual .Net II

Pg. 4

PROGRAMANDO EL FORMULARIO. Formulario Clase Form1


Public Class Form1 Dim CN As New SqlClient.SqlConnection("Server=Apolo;" + _ "DataBase=SysAdoNet;Uid=sa;Password=123") Private Sub BtnConectar_Click CN.Open() If CN.State = ConnectionState.Open Then MsgBox("Conexion Estalecida con Exito") Else MsgBox("Error al Conectar") End If Private Sub BtnDesconectar_Click CN.Close() If CN.State = ConnectionState.Closed Then MsgBox("Conexion Cerrada !!") Else MsgBox("Error al Cerrar !!") End If

SEGUN LAS CARACTERISTICAS DE NUESTRA BASE DE DATOS, DEBEMOS TOMAR EN CUENTA:

Nombre del Servidor: En este caso APOLO Nombre de Base de datos: SysAdoNet Inicio de Sesin: SA Password: 123 (Esto es interno ***)

ACLARACIONES: En el form Class definimos la cadena de conexin, con todas las caractersticas acerca de la misma, ms no su apertura. El botn conectar solo invitara a SQL a conectarse a su entorno, usando el mtodo OPEN, toda conexin debe ser verificada, por esa razn se usa el mtodo STATE que verifica el estado de la conexin, los estados pueden ser: ConnectionState.Open o ConnectionState.Closed (Abierto o
Cerrado). Y los mensajes respectivamente.

Curso

: Visual .Net II

Pg. 5

DESVENTAJAS: Que pasara si en la ejecucin de este formulario, presiono dos o mas veces el botn CONECTAR ?, lo lgico es que obtengamos un error, ya que no nos podemos conectar otra vez (estaramos usando la misma cadena de conexin 2 veces), por que existe una conexin aun vigente o abierta, es decir, la ya se abri antes. El botn DESCONECTAR puede ser usado muchas veces ya no solo desconecta. SOLUCION: Agregar la siguiente lnea al cdigo del botn CONECTAR.
CN.Open()

BtnConectar.Enabled = False
If CN.State = ConnectionState.Open Then MsgBox("Conexion Estalecida con Exito") Else MsgBox("Error al Conectar") End If

Agregar la siguiente lnea al cdigo del botn DESCONECTAR.


CN.Close() If CN.State = ConnectionState.Closed Then

BtnConectar.Enabled = True
MsgBox("Conexion Cerrada !!") Else MsgBox("Error al Cerrar !!") End If

EJEMPLO N 2 (Conexiones a Nivel Pblico o Proyecto) Agregue a su proyecto un nuevo formulario (form2) y que ejecute como objeto inicial, diselo con el siguiente aspecto:
Este formulario solo tiene dos objetos Buttons: BTNConectar y BTNDEsconectar, cada uno de ellos posee un cdigo de conexin y desconexin, para garantizar el xito del ejemplo siga los pasos al pie de la letra y saque sus propias conclusiones.

Agregue a su proyecto un mdulo (Modulo1), este estar codificado con la declaracin de una variable pblica sobre el proyecto llamado CN2, y aparte dos procedimientos (CONECTAR y DESCONECTAR) tabla:
Module Module1 'Declaracion de Variable Public sobre el proyecto Public CN2 As New SqlClient.SqlConnection

el primero de ellos llevar

parmetros de entrada hacia el procedimiento, observe el cdigo en la siguiente

Primer Procedimiento (Conectar 2 parmetro de entrada usuario y clave ) Public Sub Conectar(ByVal Usuario As String, ByVal Clave As String)

Curso

: Visual .Net II
If CN2.State = ConnectionState.Closed Then CN2.ConnectionString = "Server=APOLO;" + _ "Database=SysAdoNet;Uid='" + Usuario + _ "';Password='" + Clave + "';" ' Abrir Conexin CN2.Open() If CN2.State = ConnectionState.Open Then MsgBox("Conexion Establecida..!!") Else MsgBox("Error al Conectar..!!") End If End If

Pg. 6

End Sub

Segundo Procedimiento (Desconectar) Sin Prametros.


Public Sub DesConectar() If CN2.State = ConnectionState.Open Then ' Cerrar Conexin CN2.Close() If CN2.State = ConnectionState.Closed Then MsgBox("Conexion Cerrada..!!") End If Else MsgBox("No se Hizo una Conexion ..!!") End If End Sub

AHORA VOLVAMOS AL FORMULARIO Y PROGRAMAREMOS LOS BOTONES CONECTAR Y DESCONECTAR. Private Sub BtnConectar_Click
'Aqu solo se le envia los parametros de usuario y clave Conectar("sa", "123")

Private Sub BtnDesconectar_Click


DesConectar()

ACLARACIONES: Aqu se estn agregando dos nuevos objetos al proyecto: un nuevo formulario (Form2) y un modulo (Modulo1), como observaremos empezamos a programar el modulo, aqu definimos una variable publica CN2, es decir la variable de conexin podr ser usada en todo el proyecto, por cuantos formularios tenga el proyecto, esta podr ser utilizada sin prejuicios.
'Declaracion de Variable Public sobre el proyecto Public CN2 As New SqlClient.SqlConnection

En el modulo existen dos procedimientos CONECTAR, este usara dos parmetros de entrada (el usuario y el password) el segundo procedimiento llamado DESCONECTAR solo permitir desconectarse de la base de datos. No usa parmetros.

Public Sub Conectar(ByVal Usuario As String, ByVal Clave As String) Public Sub DesConectar()

Curso

: Visual .Net II

Pg. 7

Por ultimo los botones CONECTAR y DESCONECTAR solo hacen las llamadas de los procedimientos y enviando los parametros, ya que son publicos.

EJEMPLO N 3 (Conexiones a Nivel Pblico o Proyecto) Agregue a su proyecto un nuevo formulario (form3), este ejemplo es parecido al anterior, solo que aqu controlaremos los errores va excepciones.
Este formulario solo tiene dos objetos Buttons: BTNConectar y BTNDEsconectar, cada uno de ellos posee un cdigo de conexin y desconexin, para garantizar el xito del ejemplo siga los pasos al pie de la letra y saque sus propias conclusiones.

Agregue a su proyecto un mdulo (Modulo2), este estar codificado con la declaracin de una variable pblica sobre el proyecto llamado CN3, y aparte dos procedimientos (CONECTAR2 y DESCONECTAR2) el primero de ellos llevar parmetros de entrada, observe el cdigo en la siguiente tabla:
Module Module2 'Aqui se define la variable publica Public CN3 As New SqlClient.SqlConnection Public Sub Conectar2(ByVal Usuario As String, ByVal Clave As String) Try If CN3.State = ConnectionState.Closed Then CN3.ConnectionString = "Server=APOLO;" + _ "Database=SysAdoNet;Uid='" + Usuario + _ "';Password='" + Clave + "';" ' abrir conexin CN3.Open() If CN3.State = ConnectionState.Open Then MsgBox("Conexion Establecida..!") End If End If Catch Excep As SqlClient.SqlException ' si se produce algun error, ' lo capturamos mediante el objeto ' de excepciones particular para ' el proveedor de SQL Server MessageBox.Show("Error al conectar con datos" & _ ControlChars.CrLf & _ Excep.Message & ControlChars.CrLf & _ Excep.Server) End Try End Sub Public Sub DesConectar2() If CN3.State = ConnectionState.Open Then ' Cerrar Conexin CN3.Close() If CN3.State = ConnectionState.Closed Then MsgBox("Conexion Cerrada..!!") End If Else MsgBox("No se Hizo una Conexion ..!!") End If End Sub

Curso

: Visual .Net II

Pg. 8

AHORA VOLVAMOS AL FORMULARIO Y PROGRAMAREMOS LOS BOTONES CONECTAR Y DESCONECTAR. Private Sub BtnConectar_Click
'Aqu solo se le envia los parametros de usuario y clave Conectar2("sa", "123")

Private Sub BtnDesconectar_Click


DesConectar2()

ACLARACIONES: Aqu se estn agregando dos nuevos objetos al proyecto: un nuevo formulario (form3) y un modulo (Modulo2), como observaremos empezamos a programar el modulo, aqu definimos una variable publica CN3, es decir la variable de conexin podr ser usada en todo el proyecto, por cuantos formularios tenga el proyecto, esta podr ser utilizada sin prejuicios.
'Declaracion de Variable Public sobre el proyecto Public CN3 As New SqlClient.SqlConnection

En el modulo existen dos procedimientos CONECTAR2, este usara dos parmetros de entrada (el usuario y el password) el segundo procedimiento llamado DESCONECTAR2 solo permitir desconectarse de la base de datos. No usa parmetros.

Public Sub Conectar2(ByVal Usuario As String, ByVal Clave As String) Public Sub DesConectar2()

Por ultimo los botones CONECTAR y DESCONECTAR solo hacen las llamadas de los procedimientos y enviando los parmetros, ya que son pblicos.