Вы находитесь на странице: 1из 6

Crear una cadena de conexin de Visual Studio 2010 con SQL Server

1. El primer paso es conocer la siguiente informacin de la base de datos y la instancia de SQL a la cual nos vamos a conectar. a) Nombre de la instancia. b) Nombre de la base de datos. c) Usuario y contrasea del usuario que tiene permisos sobre la base de datos.

Ejemplo: Instancia: EQUIPO. BD: prueba. User: sa. Pass: sasysadmin.

Nota: Si no conoces el nombre de la instancia del SQL server ejecuta el siguiente comando.

USE master; GO SELECT [name], data_source FROM sys.servers;

Resultado:

Nota: SI quieres ver las bases de datos que estn en la instancia del SQL server ejecuta el siguiente comando.
USE master; GO SELECT [name] FROM sys.databases;

Resultado:

2. Ahora creamos un nuevo sitio Web en Visual Studio 2008, en el archivo de configuracin Web ( web.config ), buscamos el elemento <connectionStrings> contenido dentro del elemento raz <configuration> y agregamos una cadena de conexin como lo muestra el siguiente ejemplo:
<connectionStrings> <add name="cnxCurso" connectionString="Data source=EQUIPO; Initial catalog=Prueba; User id=admIvan; Password=123456" providerName="System.Data.SqlClient"/> </connectionStrings>

Explico brevemente la cadena: Deben dar un nombre a la cadena de conexin en esta caso la llamaremos CNX . El atributo connectionString debe tener los siguientes datos: Data source es la instancia que utilizamos en SQL Server. Initial catalog es el nombre de la base de datos a utilizar. User id es el nombre de usuario que se conectara a la base de datos. Password es la contrasea del usuario de la base de datos.

Por ltimo el providerName que es un espacio de nombres de System.Data.SqlClient. 3. Agregaremos dos cajas de texto, un botn y una etiqueta en un formulario web.

4. En el Code-Behine de nuestro formulario web agregamos los siguientes espacios de nombres necesarios para conectarnos a las base da datos y trabajar de manera efectiva. Nota: Para ir al code-behine debemos presionar la tecla F7 estando en el formulario Web.
Imports System.Web Imports System.Web.Configuration Imports System.Data Imports System.Data.SqlClient

5. Agregar el siguiente cdigo en el evento clic del botn del formulario web.

Protected Sub btnAceptar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAceptar.Click Dim idUsuario As Integer = 0 Dim msg As String = "Usuario no encontrado en la base de datos."

Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("cnxCurso").Conne ctionString) Dim comm As New SqlCommand("SELECT id FROM dbo.PRB_Usuario WHERE Email = @email AND [Password] = @pass", conn) Try With comm .CommandType = CommandType.Text .Parameters.AddWithValue("email", Me.txtUser.Text.Trim()) .Parameters.AddWithValue("pass", Me.txtPass.Text.Trim()) End With Using conn conn.Open() With comm idUsuario = .ExecuteScalar() .Parameters.Clear() .Dispose() End With If idUsuario > 0 Then msg = "El usuario esta registrado en la base de datos." End If End Using Catch ex As SqlException 'Controlar excepcin SQL Catch ex As Exception 'Controlar exception Finally If conn.State = ConnectionState.Open Then conn.Close() conn.Dispose() End If End Try Me.lblMsg.Text = msg End Sub

Es importante poner atencin a la hora de crear la cadena de conexin ya que el nombre debe de ser el mismo al que se agrego en el archivo de configuracin web (web.config).

El comando al crearlo lleva dos parmetros iniciales, el comando de base de base de datos ( el cual selecciona el id de nuestro usuario) , y la cadena de conexin que utilizara para llevar acabo la ejecucin. Agregamos los parmetros que recibir el comando para poder consultar los datos, a esto se le llama parametrizar sentencias o comandos SQL, para evitar los ataques de inyeccin de cdigo. Para terminar se abre la conexin, y se ejecutamos el comando SQL de manera Scalar (ExecuteScalar), es decir que solo nos regrese el valor de la primer fila y primer columna del conjunto de resultados obtenidos, para este caso siempre nos regresara un valor, este valor se asigna a nuestra etiqueta que mostrara si el usuario se encuentra o no en la base de datos.
Resultado:

Вам также может понравиться