Documente Academic
Documente Profesional
Documente Cultură
Presentacin
del
Curso:
Aplicaciones y Servicios Web
con ASP .Net y SQL Server
2000
Esta es una de nuestras primeras publicaciones que
presentamos como un estudio. A diferencia de los libros
tradicionales, usted podra complementar su estudio a travs
de nuestra Escuela virtual, dirigido por el mismo autor de la
publicacin, rendir sus evaluaciones y obtener la
Certificacin de haber aprobado el curso por parte de
nuestra empresa,
Estudie cmodamente en casa, en la oficina o desde una
cabina pblica, en el horario que usted disponga y con la
frecuencia que decida, necesita de un Servidor para hacer
las pruebas Como parte de los recursos para su estudio le
proporcionamos una cuenta de hosting en nuestros
servidores (Plan EducaVirtual), por el tiempo que dure su
estudio.
Asi podr acceder a: Biblioteca de recursos, Programas,
Foros, Soporte en lnea, acceso a la Escuela Virtual, etc.
Hagamos negocios
Nuestra propuesta es que usted sea nuestro socio de
negocios, dediquese a proponer la solucin y nosotros nos
hacemos cargo de ofrecerle el respaldo tecnolgico. Por
cada cuenta que usted aperture con nosotros para sus
clientes, usted se har acreedor a bonos, los que puede
canjearlos por efectivo o por alguno de nuestros servicios
(ver detalle en www.grapperusoft.com)
Hosting Comercial
Implementar una aplicacin Web supone publicarla en un
Servidor, disponer de uno propio implica la adquisicin de
los equipos, una lnea dedicada de buen ancho de banda,
software, personal especializado que se haga cargo de la
seguridad, mantenimiento, respaldo, etc. Para la mediana o
microempresa representara una inversin considerable (no
menos de unos 15 mil dolares), ante ello existe una
alternativa: Hosting.
Csar Bustamante
Gerente General
GrapPeru SAC
http://www.grapperusoft.com
soporte@grapperusoft.com
grapperu@hotmail.com
INTRODUCCIN
Todo programa computacional (software) est basado en el
principio de la manipulacin de informacin. Hoy,
encontramos aplicaciones computacionales sofisticadas que
almacenan su informacin en una Base de Datos, un
repositorio de informacin controlada por un Sistema de
Administracin de Base de Datos o DBMS (DataBase Management
System). Un DBMS se encarga de dos cosas: primeramente,
controla el almacenamiento de la informacin, y en segundo
lugar, provee mecanismos para consultar y mantener la
informacin, es decir, agregar, eliminar y actualizar datos.
Un DBMS se empea en cumplir estas dos funciones
bsicas de la manera ms eficiente posible.
Con el pasar de los aos, el mercado de los DBMS ha
madurado y se ha sofisticado, ofreciendo productos
diseados para el uso de grandes entornos empresariales
como es el caso de Oracle 9i o Microsoft SQL Server 2000,
y tambin par entornos mas pequeos o personales como
Microsoft Access. En algunos casos, incluso nos
encontramos con paquetes de software que incluyen su
propio DBMS para la administracin de propia su base de
datos.
En su trabajo cotidiano como desarrollador o programador
se dar cuenta que las aplicaciones por lo general requieren
que la informacin sea administrada por un DBMS. En
realidad, debe saber que el uso de un DBMS es la manera
ms fcil de administrar y manipular la informacin de su
aplicacin. Sin embargo, la gran pregunta es, Qu DBMS
se debe usar?, debido a que en el mercado actual existen
una gran variedad de proveedores de estas soluciones.
Cmo podemos desarrollar un programa que trabaje con
cualquier base de datos que nuestro cliente pueda elegir?
El truco est en desarrollar una aplicacin que trabaje con
una Capa de acceso a los datos de cualquier tipo. En vez
de crear un programa que requiera de un DBMS especfico,
se puede crear un programa que acceda a esa capa.
Contenido del CD
El CD que acompaa a este libro, contiene los archivos de
ejemplo y demostracin, descritos en el libro. Adems
contiene algunas otras herramientas tiles. Vea el contenido
Soporte
Definitivamente valoramos las opiniones de nuestros
lectores y nos gustara saber qu es lo que piensa sobre
este libro, qu no le gust, y qu es lo que le gustara que
consideremos para la prxima oportunidad. Nos puede
enviar sus comentarios ya sea a travs de nuestro sitio Web
(http://www.grapperusoft.com).
Errata
Se ha hecho todo el esfuerzo necesario a fin de que no
hayan errores en el texto o en el cdigo de ejemplo. Sin
embargo nadie es perfecto y quizs encuentre errores. Si
encuentra algn error ortogrfico o en alguna parte del
cdigo, estaremos gustosos de saberlo. De esta manera
nos estar ayudando a dar un mejor soporte a travs de
nuestro sitio Web, a los futuros lectores.
10
CAPITULO I
Microsoft SQL Server
Desktop Engine
11
12
13
14
15
16
Requisitos de Instalacin
El Desktop Engine puede ser instalado en cualquiera de las
versiones de la familia Windows: Windows 98, Windows NT
4.0, Windows Millenium, Windows 2000 o Windows XP y se
necesita como mnimo 64 Mb. de RAM.
17
Confirmacin
de
que
la
instalacin
fue
18
19
20
21
22
23
2.
3.
4.
24
5.
6.
7.
25
8.
9.
26
Tabla: Productos
Campo
Ejemplo
de datos
Tipo de
datos
Tamao
estimado
de los
datos
IDProducto (PK)
12345
Numrico
Nmeros
positivos
sin
decimales
Descripcin
Harina de
pescado
Texto
25
caracteres
PrecioUnitario
23.25
Monetario
0.00 hasta
10,000.00
Stock
50
Numrico
0 hasta
9,999
UnidaddeMedida
40 100
gr.
Texto
25
caracteres
27
28
29
Ejemplo de
datos
Tipo de
datos
IDCliente
(PK)
123456
Nombres
Ral Rodrigo
Texto
15 caracteres
Apellidos
Alonso Ruiz
Texto
15 caracteres
DNI
20036989
Texto
8 caracteres
Domicilio
Texto
30 caracteres
Ciudad
Huancayo
Texto
20 caracteres
Telfono
064-232425
Texto
12 caracteres
ralonso31@hotm
ail.com
Texto
50 caracteres
30
Numrico
Tamao
estimado de los
datos
Nmeros
positivos
decimales
sin
IDPedido
(PK)
Fecha
Pedido
IDCliente
(FK)
de
Ejemplo de
datos
Tipo de
datos
Tamao
estimado de
los datos
1000
Numrico
Nmeros
positivos sin
decimales
30/08/2003
Fecha
Una fecha
vlida
123456
Numrico
Nmeros
positivos sin
decimales
31
Fecha
de
Entrega
31/08/2003
Fecha
Una fecha
vlida
32
33
34
35
abierta,
para ver
de tipo
primaria
36
Ejemplo de
datos
Tipo de
datos
Tamao
estimado de
los datos
IDPedido
(PK)
1000
Numrico
Nmeros
positivos sin
decimales
IDProducto
(PK)
12345
Numrico
Nmeros
positivos sin
decimales
Precio
23.25
Monetario
Cantidad
Numrico
Un mximo
de 99
37
38
39
40
41
42
2.
3.
4.
5.
Se mostrar el asistente
6.
43
7.
8.
44
9.
45
46
47
CAPITULO II
TRABAJANDO CON LA
BASE DE DATOS
48
Qu es ADO.NET?
ADO.NET es una tecnologa de acceso a datos que se
basa en los objetos ADO (Objetos de Datos ActiveX) anteriores. Es
El Espacio de Nombres
Hay 3 espacios de nombres que se pueden usar en un
formulario Web para acceder a ADO.NET:
??System.Data.
??System.Data.SqlClient.
??System.Data.OleDb.
Para importar el espacio de nombres en VB.NET se usa la
sentencia:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
datos
49
50
Objetos de
Proveedores
de Datos
.NET
Propsito
Objeto SQL
Server 7.0 o
2000
Objeto
para un
origen
OLEDB
Connection
Provee
conectividad a
un Origen de
Datos
SqlConnectio
n
OleDBCo
nnection
Command
Provee acceso
a comandos de
Base de Datos
como Select,
Delete, Insert y
Update
SqlCommand
OleDBCo
mmand
DataReader
Provee acceso
a datos de solo
lectura
SqlDataRead
er
OleDBDat
aReader
DataAdapter
Utiliza el objeto
Connection
para enlazar un
objeto DataSet
con un
Proveedor de
Datos.Tambin
permite actualizar los Datos
en el origen a
partir de las
modificaciones
hechas en el
DataSet
SqlDataAdap
ter
OleDBDat
aAdapter
51
52
El objeto DataSet
Un
DataSet
guarda
informacin
en
un
entorno
desconectado. Despus de que se establece una conexin
con una Base de Datos entonces puede acceder a sus
datos.
El DataSet es la principal forma de guardar datos cuando
usted utiliza ADO.NET
El DataSet permite guardar datos que se obtuvieron de un
origen de datos. Los datos en un DataSet pueden ser
manipulados sin necesidad que el formulario Web mantenga
la conexin con el origen de datos. La conexin se
reestablece recin cuando se necesita actualizar los
cambios.
Los mtodos y objetos que se usan en un DataSet son
similares los que se usa en una base de datos relacional. El
DataSet est formado por cinco tipos diferentes de objetos:
53
y Relations
54
El objeto DataTable
Un DataSet contiene una coleccin de tablas a las cuales
hace referencia a travs de su propiedad Tables. Cada tabla
individual residente en memoria, es llamada DataTable , y
podran haber cero o ms tabla en la coleccin. Los
DataTable contienen filas de datos, y cada fila est formada
por columnas.
Podemos crear
continuacin:
un
DataTable
como
se
muestra
ds.Tables(0)
El objeto Conexin
Abre una conexin sobre un origen de datos. Podemos usar
como se explic anteriormente en este mismo captulo el
objeto
OleDbConnection
o
el
SqlConnection
(dependiendo a que origen de datos nos queremos
conectar). Para el proveedor OleDB indicamos los
siguientes argumentos en la cadena de conexin: Provider, Data
Source (o Server), User ID y Password. Para el proveedor SQL usamos
55
El objeto DataAdapter
El DataAdapter es el nexo entre un origen de datos y el
DataSet. Si desde la aplicacin queremos recuperar o
actualizar registros, se usan las propiedades del
DataAdapter que hacen referencia a los objetos
Command que se comunican directamente con el origen
de datos para manipular los datos de acuerdo al pedido del
usuario.
Cuando un DataAdapter se conecta a un origen de datos se
puede ejecutar acciones. EL siguiente cuadro resume las 4
acciones:
Propiedad
Funcin
SelectCommand
Obtiene registros
origen de Datos
InsertCommand
Inserta registro
origen de datos
UpdateCommand
Modifica registros en un
origen de datos
DeleteCommand
Borra registros
origen de datos
56
de
en
en
un
un
un
57
El objeto Command
El objeto Command es usado para configurar los comandos
SELECT, INSERT, UPDATE y DELETE o procedimientos almacenados de un
DataAdapter. Veremos un ejemplo junto con el objeto
DataReader a continuacin.
El objeto DataReader
Cuando se debe recuperar una gran cantidad de registros
de un origen de datos el objeto DataTable puede usar
demasiada memoria y recursos. El objeto DataReader
permite usar menos recursos y acceder ms rpidamente a
los datos. El costo de esto es que puede ser recorrido
nicamente hacia adelante y sus datos no pueden ser
modificados Adems la conexin al origen de datos debe
hacerse en forma explcita. Veamos un ejemplo:
'Se crea la conexin
Dim conexion As New _
SqlConnection("server=localhost; user id=sa; password=; database=NorthwindSQL")
conexion.Open()
'se crea un objeto de tipo command
Dim cmdDoctores As New SqlCommand("select * from Customers", conexion)
'se declara crea un objeto de tipo dataReader
Dim dr As SqlDataReader
'el resultado de la ejecucin del objeto command es un DataReader
dr = cmdDoctores.ExecuteReader()
'Ahora leemos los datos del DataReader
'El Bucle va desde el primer registro hasta el ltimo
Do While dr.Read()
Imprimimos en la pgina web
Response.Write( dr("CustomerID") + " " + dr("CompanyName") )
Loop
dr.Close()'Cerramos el DataReader
conexion.Close() 'Cerramos la conexin
58
DataReader
de
Lectura nicamente
Basado
en
una
sola
sentencia SQL de una sola
base de datos
Modelo desconectado
Modelo conectado
Acceso ms lento
Acceso ms rpido
Codificado manualmente
El concepto de coleccin
Recordemos que un arreglo (array) es un conjunto de
elementos del mismo tipo. Una coleccin es un conjunto de
elementos de cualquier tipo. Sus elementos son accedidos
mediante un ndice entero. En ADO.NET el primer elemento
de una coleccin tiene ndice 0.
Ejemplos de colecciones en ADO.NET son:
??DataSet: Es una coleccin de DataTables
??DataTable: Es una coleccin de DataRow
??DataRow: Es una coleccin de DataColumn
59
60
61