Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conexión A Base de Datos SQL Server Desde Asp
Conexión A Base de Datos SQL Server Desde Asp
NET (C#)
Para conectar ASP.NET, usando C# a un motor de base de datos como Sql Server, lo común es
hacerlo usando dos tipos de conexión, la primera usando un objeto del tipo DataAdapter y la otra
es usando un objeto del tipo Connection. Esta última opción es la que debemos usar si el acceso lo
haremos por medio de un objeto Command en lugar del DataAdapter, por ejemplo, para acceder a
un procedimiento almacenado.
En la presente guía usaremos el DataAdapter, en el cual usaremos un objeto del tipo DataTable
para traer los datos y un objeto tipo DataRow, para recorrer estos datos.
Este mismo código es válido si la aplicación es para Windows o para una página web.
Para realizar el ejemplo completo, vamos a estructurar primero el ambiente necesario para ello.
Creemos inicialmente una base de datos llamada ElectivaVI, y dentro de ella crearemos la
siguiente tabla.
Ahora, crear el proyecto web en Visual Studio, seleccione como código de desarrollo C#.
Agregue al proyecto una clase llamada Conex.cs, el código de la clase es el que se muestra a
continuación.
Se definen las variables necesarias para la Conexión, como la Cadena de Conexión, el DataAdapter,
el DataTable, el DataRow y una variable tipo String para las consultas. Tenga presente que debe
cambiar el nombre del servidor por el de su computador.
Luego se define una función llamada operarRegistros, esta función nos servirá para hacer las
consultas, las inserciones, las actualizaciones y la eliminación de registros.
Lo primero que se hará es realizar un test de conexión, agregaremos un nuevo Formulario Web
Forms, insertamos un botón y un label y en el evento clic del botón programaremos lo siguiente:
Para que nuestro SqlDataAdapter funcione, al igual que el DataTable, hay que agregar las dos
librerías.
using System.Data;
using System.Data.SqlClient;
Inserción de registros
BODY {
font-family: Verdana, sans-serif, Arial;
font-weight: bold;
font-size: .9em;
color:#000000;
background-color:#ffffff;
background-repeat:no-repeat;
background-attachment:fixed;
margin: 0px 0px;
}
a.sinsubraya
{
text-decoration:none;
color:#ff0000;
font-weight: bold;
}
a.sinsubraya:hover
{
color:#000000;
text-decoration:underline;
font-weight: bold;
}
TABLE
{
width: 100%;
background-color: #ffffff;
border: 1px #000000 solid;
border-collapse: collapse;
border-spacing: 0px;
alignment-adjust: central;
}
TABLE.ficha
{
width:60%;
background-color: #ffffff;
border: 1px #000000 solid;
border-collapse: collapse;
border-spacing: 0px;
}
TABLE.mensaje
{
width:460px;
background-color: #ffffff;
border: 0px;
}
TABLE.mensaje2
{
width:90%;
background-color: #ffffff;
border: 1px #ffffff solid;
border-collapse: collapse;
border-spacing: 0px;
}
TD
{
border-bottom: 1px #0C9816 dotted;
text-align: left;
font-weight: bold;
font-size: .9em;
color: #000000;
background-color: #ffffff;
}
TD.derecha
{
border-bottom: 1px #0C9816 dotted;
text-align: right;
font-family: Verdana, sans-serif, Arial;
font-weight: bold;
font-size: .9em;
color: #000000;
background-color: #ffffff;
}
TD.primeralinea
{
TD.segundalineaderecha
{
input
{
BACKGROUND-COLOR: #ffff99;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 8pt;
border: 1px solid #000000;
text-align: center;
}
select
{
BACKGROUND-COLOR: #ffff99;
BORDER-BOTTOM: #0C9816 1px solid;
BORDER-LEFT: #0C9816 1px solid;
BORDER-RIGHT: #0C9816 1px solid;
BORDER-TOP: #0C9816 1px solid;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 8pt;
}
textarea
{
BACKGROUND-COLOR: #ffff99;
BORDER-BOTTOM: #0C9816 1px solid;
BORDER-LEFT: #0C9816 1px solid;
BORDER-RIGHT: #0C9816 1px solid;
BORDER-TOP: #0C9816 1px solid;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 7pt;
}
El botón Enviar, el siguiente sería el código, antes de ingresar el código, debemos de crear una
instancia de la clase Conex.
Eliminar un registro
Los controles tendrán los mismos nombres a excepción del primero que será un combo y se
llamará CmbDocumento, procederemos ahora a mostrar en este combo los documentos y
nombres de los usuarios que están registrados en la tabla TbUsuarios.
Para ello seleccione el combo, clic en la pestaña de la derecha y luego seleccionamos Elegir origen
de datos, se muestra la siguiente ventana:
En seleccionar un origen
de datos, de clic en Nuevo
Origen de Datos, clic en
Aceptar
Seleccione la conexión
creada y clic en Siguiente.
Clic en Siguiente
Coloque la configuración
como en la figura y clic en
Aceptar.
Seleccione la opción
habilitar AutoPostBack
Agregue dos botones al final del formulario, uno que diga eliminar y otro cancelar.
Vamos al código.
La función mostrarDatos()
Esto lo que nos permite es que cuando en el combo se seleccione algún documento, el
automáticamente me muestra los datos del documento eliminado, esto es para validar antes si
realmente ese es el usuario que deseamos eliminar.
El botón Eliminar
Para ello seleccionamos el botón eliminar, vamos a las propiedades y seleccionamos la propiedad
OnClientClick, y allí escribimos lo siguiente: return confirm('¿Esta seguro de eliminar?');
Actualización de un registro
Para actualizar un registro podemos hacer dos cosas, agregar un nuevo formulario con el mismo
diseño del formulario eliminar, simplemente cambiar el eliminar por Actualizar, pero por
versatilidad y sencillez lo vamos a hacer en el mismo formulario de eliminar, para ello modifique el
texto del botón cancelar por Actualizar; procedemos a ingresar el siguiente código.
El GridView es un elemento de ASP.NET que es muy útil al momento de trabajar con las tablas, en
las páginas siguientes vamos a ver cómo podemos trabajarlo.
Vuelva a seleccionar la grilla, clic en la pestaña y en Elegir Origen de Datos, de clic en Nuevo
Origen de Datos.
Vamos a realizar algunas modificaciones en la grilla, para ver más en detalle las utilidades que
tiene, empezaremos por realizar una confirmación en el botón eliminar, ya que, si prueba, este
botón elimina el registro directamente sin antes pedir confirmación del usuario.
Propiedad
ButtonType en
Link, Text:
Eliminar y de clic
en la opción que
dice Convertir
este informe en
TemplateField
El GridView debe tener activada sus opciones Habilitar Paginación, Habilitar Ordenación y
Habilitar Edición, seleccione la opción Editar Columnas.
Añada un ButtonField a la
grilla y establezca su
propiedad CommandName
en Insert. Los usuarios
podrán hacer clic en el botón
Insertar para insertar un
nuevo registro. En la
propiedad Text coloque lo
mismo. Clic en Aceptar
Haga clic derecho en el
GridView y seleccione Editar
plantillas, luego EmptyData
Template. Arrastre y suelte un
control DetailsView (opción
Datos) dentro de la planilla,
establezca la propiedad
DataSourceID para
SqlDataSource1, seleccione
Habilitar Inserción
Ahora vaya al código y escriba el siguiente código en el evento RowCommand del gridView como
se muestra a continuación.
Seleccione FooterTemplate e
inserte un botón, tal y como se
ve en la imagen, la
programación del botón será
la siguiente:
Ejecute la aplicación y hasta aquí el resultado debe ser como se muestra en las siguientes
imágenes.
De clic en
Insert
Haga los cambios correspondientes para que el template quede mejor para el ingreso de datos de
parte del usuario, tales como cambiarles el tamaño a los campos de texto, en Perfil debe aparecer
el combo con los perfiles; En Estado, un combo, al igual que en Perfil, que en password sea del tipo
correspondiente, etc.