[VS 2008–ASP NET] Crear una cadena de conexión en ASP .NET y ejecutar un comando a una BD de SQL Server 2008.

Saludos amigos, en esta ocasión les mostrare un ejemplo de como crear una cadena de conexión en ASP .NET con Visual Studio 2008 hacia una base de datos creada en SQL Server 2008.

1. El primer paso es conocer la siguiente información 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 contraseña 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:

image

Nota: SI quieres ver las bases de datos que están en la instancia del SQL server ejecuta el siguiente comando.

USE master;
GO
SELECT [name] FROM sys.databases;

Resultado:

image

2.  Ahora creamos un nuevo sitio Web en Visual Studio 2008, en el archivo de configuración Web ( web.config ), buscamos el elemento <connectionStrings> contenido dentro del elemento raíz <configuration> y agregamos una cadena de conexión 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 conexión 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 contraseña 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 botón y una etiqueta en un formulario web.

image

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 código en el evento clic del botón 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").ConnectionString)
        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 excepción 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 atención a la hora de crear la cadena de conexión ya que el nombre debe de ser el mismo al que se agrego en el archivo de configuración web (web.config).

image

El comando al crearlo lleva dos parámetros iniciales, el comando de base de base de datos ( el cual selecciona el id de nuestro usuario) , y la cadena de conexión que utilizara para llevar acabo la ejecución.

Agregamos los parámetros que recibirá el comando para poder consultar los datos, a esto se le llama parametrizar sentencias o comandos SQL, para evitar los ataques de inyección de código.

Para terminar se abre la conexión, 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:

image

 

Bueno amigos, espero les sea de ayuda, próximamente subiré videos.