You are on page 1of 334

Manejo de datos con

Visual Basic y ASP .NET

Carlos Alberto Vanegas


Ingeniero de Sistemas
Especialista en Ingeniera de Software
Maestra en Ingeniera de Sistemas
Profesor ctedra, Universidad Libre
Profesor, Universidad Distrital Francisco Jos de Caldas

Bogot agosto 2010

Contenido
PRLOGO .................................................................................................................................... 6
INTRODUCCIN........................................................................................................................... 8
1. MANEJO DE ARCHIVOS........................................................................................................ 11
1.1 Clase File ................................................................................................................... 11
1.1.1 Ejemplo clase File .................................................................................................. 12
1.2 Clases StreamWriter y StreamReader ...................................................................... 17
1.2.1 Ejemplo clases StreamWriter y StreamReader ..................................................... 17
1.3 Controles OpenFileDialog y SaveFileDialog .............................................................. 20
1.3.1 Ejemplo con los controles OpenFileDialog y SaveFileDialog ............................... 20
1.4 Archivos secuenciales ............................................................................................... 24
1.4.1 Ejemplo de archivos secuenciales ........................................................................ 24
1.5 Archivos binarios ........................................................................................................ 29
1.5.1 Ejemplo de archivos binarios ................................................................................. 29
1.6 Importar y exportar datos de una hoja de Excel ........................................................ 32
16.1
Ejemplo importar y exportar datos de Excel .......................................................... 32
1.7 Exportar datos a Word ............................................................................................... 38
1.7.1 Ejemplo de exportar datos de VB.NET a Word ..................................................... 38
1.8 Ejercicios de archivos ................................................................................................ 43
2. BASES DE DATOS ................................................................................................................. 44
2.1 Tipos de bases de datos ............................................................................................ 44
2.1.1 Relacionales .......................................................................................................... 44
2.1.2 Orientada a objetos ............................................................................................... 44
2.2 Lenguaje de Consulta Estructurado (S.Q.L.) ............................................................. 44
2.2.1 Comandos ............................................................................................................. 45
2.2.2 Clusulas ............................................................................................................... 45
2.2.3 Operadores lgicos................................................................................................ 46
2.2.4 Operadores de Comparacin ................................................................................ 46
2.2.5 Funciones de agregado ......................................................................................... 46
2.3 Sentencias Bsicas SQL ........................................................................................... 47
2.3.1 CREATE DATABASE ............................................................................................ 47
2.3.2 DROP DATABASE ................................................................................................ 48
2.3.3 CREATE TABLE .................................................................................................... 48
2.3.4 DROP TABLE ........................................................................................................ 48
2.3.5 INSERT .................................................................................................................. 48
2.3.6 ALTER ................................................................................................................... 48
2.3.7 SELECT ................................................................................................................. 49
2.3.8 DELETE ................................................................................................................. 50
2.3.9 UPDATE ................................................................................................................ 50
2.3.10
INNER JOIN ...................................................................................................... 51
2.4 Conexin a bases de datos ....................................................................................... 52
2.5 Ejemplos de conexin a bases de datos ................................................................... 52
2.5.1 Conexin a una base de datos de SQL Server ..................................................... 52
2.5.2 Conexin a una base de datos de ACCESS ......................................................... 56
2.5.3 Conexin a una base de datos de ORACLE con cdigo ...................................... 59
2.6 Conexin a una bases de datos con el Explorador de servidores ............................ 63
2.6.1 Conexin a SQL Server con el Explorador de servidores ..................................... 63
2.7 Ejercicios de conexin a bases de datos ................................................................... 71
3. DESPLAZAMIENTO POR LOS REGISTROS DE UNA TABLA ............................................. 72
3.1 Ejemplos de desplazamiento por los registros de una tabla ..................................... 72
3.1.1 Formulario con campos de texto y botones .......................................................... 72
3.1.2 Formulario con una cuadrcula y botones ............................................................. 82
3.1.2 Formulario con una cuadrcula y un control BindingNavigator .............................. 85
3.2 Ejercicios de desplazamiento por los registros de una tabla ..................................... 92

4.

OPERACIONES CON TABLAS DE UNA BASE DE DATOS............................................. 93


4.1 Ejemplos de operaciones con tablas de una base de datos ..................................... 93
4.1.1 Insertar registros en una tabla utilizando campos de texto ................................... 93
4.1.2 Insertar registros en una tabla utilizando un DataGridView .................................. 96
4.1.3 Buscar registros por un campo especfico .......................................................... 101
4.1.4 Buscar registros por cualquier campo de una tabla ............................................ 104
4.1.5 Buscar registros mientras se escribe .................................................................. 107
4.1.6 Ejecutar instrucciones SQL sobre una base de datos ........................................ 111
4.1.7 Eliminar registros de una tabla ............................................................................ 113
4.1.8 Actualizar registros de una tabla ......................................................................... 117
4.1.9 Generar un reporte de los registros de una tabla ................................................ 120
4.2 Ejercicios de operaciones con tablas de una base de datos ................................... 131

5.

MANEJO DE RELACIONES ENTRE TABLAS EN UNA BASE DE DATOS ................... 132


5.1 Ejemplos de relacin de tablas de una base de datos ............................................ 132
5.1.1 Visualizar registros de tablas relacionadas ......................................................... 132
5.1.2 Relacin de tablas utilizando dos DataGridView ................................................. 135
5.1.3 Relacin de tablas utilizando ComboBox ............................................................ 138
5.1.4 Reporte con tablas relacionadas ......................................................................... 147
5.2 Ejercicios de relacin de tablas ............................................................................... 162

6.

MANEJO DE ARCHIVOS CON ASP.NET ....................................................................... 163


6.1 Manejo de Archivos de texto con ASP.NET. ........................................................... 163
6.2 Ejemplos de manejo de archivos con ASP.NET. ..................................................... 164
6.2.1 Cargar archivo con el control FileUpLoad. .......................................................... 164
6.2.2 Manejo de archivos de texto con StreamWriter y StreamReader. ...................... 168
6.2.3 Guardar /Leer Archivo de texto con FileSystem .................................................. 171
6.3 Ejercicios de archivos de texto con ASP.NET ......................................................... 175

7.

BASE DE DATOS CON ASP.NET ................................................................................... 176


7.1 Ejemplos de manipulacin de bases de datos con ASP.NET ................................. 176
7.1.1 Pagina Web con los campos de una tabla .......................................................... 176
7.1.2 Conexin a una base de datos desde un Formulario Web ................................. 180
7.1.3 Conexin a SQL Server con el control DetailsView ............................................ 183
7.1.4 Pgina Web con desplazamiento de registros .................................................... 192
7.1.5 Pgina Web para insertar registros en una tabla ................................................ 200
7.1.6 Pagina Web para eliminar registros de una tabla ............................................... 210
7.1.7 Pgina Web para modificar registros .................................................................. 215
7.1.8 Pgina Web con un informe de los registros de una tabla .................................. 220
7.2 Ejercicios de bases de datos con ASP.NET ............................................................ 231

8.

MANEJO DE TABLAS RELACIONADAS CON ASP.NET ............................................... 232


8.1 Ejemplos de relacin entre tablas de una base de datos con ASP.NET ................ 232
8.1.1 Relacin de dos tablas con DropDownList y GridView ....................................... 232
8.1.2 Relacin de tablas utilizando GridView y FormView ........................................... 246
8.1.3 Pgina Web con tres tablas relacionadas ........................................................... 261
8.2 Ejercicios relacin de tablas con ASP.NET ............................................................. 278

ANEXO A CREACIN DE APLICACIONES WINDOWS FORMS ........................................... 279


A.1 Crear un nuevo proyecto Visual Basic .NET (Windows Forms) ............................... 279
A.2 Elegir plantilla de aplicaciones ................................................................................... 280
A.3 Crear la interfaz de usuario ........................................................................................ 283
A.4 Establecer las propiedades de los controles ............................................................. 284
A.5 Escribir cdigo ............................................................................................................ 285
A.6 Guardar la aplicacin ................................................................................................. 286
A.7 Ejecutar la aplicacin Windows Forms ...................................................................... 286
A.8 Cerrar y abrir un proyecto .......................................................................................... 287
ANEXO B CREACIN DE APLICACIONES WEB ASP.NET ................................................... 288
B.1 Crear un nuevo Sitio Web (ASP.NET) ...................................................................... 288

B.2 Elegir plantilla de aplicaciones ................................................................................... 289


B.3 Crear la interfaz de usuario ........................................................................................ 293
B.4 Establecer las propiedades de los controles. ............................................................ 294
B.5 Escribir cdigo ............................................................................................................ 295
B.6 Ejecutar la aplicacin Web ......................................................................................... 298
B.7 Cerrar y abrir un sitio Web ......................................................................................... 300
ANEXO C SQL SERVER .......................................................................................................... 301
C.1. Conectarse a SQL Server. ........................................................................................ 301
C.2 Crear una base de datos ........................................................................................... 302
C.3 Crear tablas en la base de datos ............................................................................... 304
C.4 Crear Diagramas de una base de datos .................................................................... 312
C.5 Crear una vista ........................................................................................................... 316
ANEXO D ORACLE DATABASE 10G EXPRESS .................................................................... 320
D.1 Instalacin .................................................................................................................. 320
D.2 Creacin de una tabla en la base de datos con usuario system ............................... 325
NDICE ...................................................................................................................................... 332
BIBLIOGRAFA.......................................................................................................................... 334
INFOGRAFA............................................................................................................................. 334

PRLOGO

Manejo de datos con Visual Basic y ASP .NET proporciona los elementos necesarios
para el manejo de datos desde el entorno del lenguaje de Programacin Visual Basic
.NET con aplicaciones Windows Forms y ASP. Este libro ha sido pensado para todos
aquellos que estn interesados en conocer cmo se puede guardar o recuperar
informacin desde archivos de texto plano, importar o exportar desde Visual Basic
.NET datos a otros programas como Excel, Word, etc... Adems realizar la conexin a
diferentes bases de datos, desplazarse entre los registros de una tabla, realizar
operaciones entre tablas y la relacin de stas. El material didctico del libro se basa en
el aprendizaje guiado por la conceptualizacin de cada tema, la realizacin de ejemplos
prcticos explicados y con grficos que visualizan el objetivo de los ejercicios.
Todos los ejemplos del libro han sido compilados y ejecutados con el programa
Microsoft Visual Studio 2008 (la mayora de los ejemplos tambin los puede compilar y
ejecutar con las versiones Express Edition Visual Basic 2005/2008 y Visual Web
Developer 2005/2008); cada ejemplo es explicado detalladamente, solamente se omiten
explicaciones en aquellos casos en donde se ha realizado con anterioridad.
Este libro se dirige fundamentalmente a personas que conozcan el lenguaje de
programacin Visual Basic en el entorno .NET, es decir, en este libro se supone que el
lector tiene conocimiento sobre los conceptos bsicos de programacin de este lenguaje,
sabe crear y ejecutar proyectos de Visual Basic en el entorno .NET (Windows Forms,
ASP), aunque en los anexos A y B se explica en forma breve como trabajar con
proyectos Windows Forms y sitios Web (ASP.NET). Adems, que tenga conocimientos
sobre programacin orientada a objetos. Tambin es recomendable tener nociones
concernientes al lenguaje estructurado de consulta SQL y HTML. Por otro lado, es
indispensable que tenga la conceptualizacin terica y ojal prctica de bases de datos.
Captulos del libro
Manejo de datos con Visual Basic y ASP .NET contiene 8 captulos y 4 anexos
distribuidos de la siguiente forma:

Captulo 1, Manejo de Archivos: Se conceptualiza sobre las clases File,


StreamWriter,
StreamReader,
los
controles
OpenFileDialog
y
SaveFileDialog, como tambin los conceptos de archivos secuenciales y
binarios. Adems, cmo importar y exportar datos. Todo esto apoyado con
ejemplos explicados sobre cada tema.
Captulo 2, Bases de datos: Se trabajan los conceptos bsicos de bases de
datos, as como tambin se realiza una descripcin del lenguaje estructurado
de consulta SQL. Adems se realizan ejemplos de sentencias bsicas de
SQL. Por otro lado, se desarrollan ejemplos para obtener la conexin a las
bases de datos SQL Server, Access y Oracle.
Captulo 3, Desplazamiento por los registros de una tabla: Bsicamente
lo que se realiza en este captulo son diversos ejemplos que permiten el
desplazamiento entre los registros de una tabla perteneciente a una base de
datos.

Captulo 4, Operaciones con tablas de una base de datos: Se manejan


ejemplos de las distintas operaciones que se pueden realizar con los registros
de una tabla como son: insertar, consultar, buscar, eliminar, actualizar y
generar reportes. Cada operacin es ilustrada con ejemplos debidamente
explicados.
Captulo 5, Manejo de las relaciones de tablas en una base de datos:
Aqu se conceptualiza y se crean ejemplos sobre la relacin de tablas de una
base de datos utilizando diferentes controles que ofrece Visual Basic .NET,
as como la creacin de reportes con tablas relacionadas.
Captulo 6, Manejo de Archivos con ASP.NET: Se conceptualiza sobre
ASP. NET, como tambin se crean diversos ejemplos de escritura y lectura
de archivos de texto plano en una aplicacin Web.
Captulo 7, Bases de datos con ASP.NET: Se disean ejemplos
ilustrativos sobre la operacin y manipulacin de los registros de una tabla
utilizando una aplicacin Web. Con los ejemplos se puede verificar la
estructura de una tabla, la conexin a una base de datos con distintos
controles, el desplazamiento de registros y las operaciones de insercin,
eliminacin, modificacin de registros, como tambin la creacin de
reportes.
Captulo 8, Manejo de tablas relacionadas con ASP.NET: En este
captulo se disearon ejemplos que permiten obtener la relacin entre tablas
en aplicaciones Web utilizando diferentes controles de Visual Basic. NET.
Anexo A: Se explica en forma breve cmo se crean proyectos Windows
Forms, el diseo de la interfaz de usuario, la modificacin de los controles
del proyecto, la escritura de cdigo, as como guardar y ejecutar un proyecto
Windows Forms. Adems, cmo cerrar y/o abrir un proyecto Windows
Forms.
Anexo B: Se explica cmo se crean nuevos sitios Web, el diseo de la
interfaz de usuario, la modificacin de los controles del sitio Web, la
escritura de cdigo y la ejecucin de un sitio Web. Adems, cmo cerrar y/o
abrir un sitio Web.
Anexo C: Se explica cmo se realiza la conexin a SQL Server, as como la
creacin de una base de datos, la creacin de tablas, diagramas y vistas
dentro de la base de datos.
Anexo D: En este anexo se explica cmo se realiza la instalacin de la base
de datos Oracle Database 10g Express Edition; tambin, cmo se crea e
insertan datos en una tabla de dicha base de datos.

Como apoyo complementario a esta publicacin se ha incluido un CD que


contiene cada uno de los captulos del libro, los anexos explicativos del software que se
utiliz, el cdigo fuente de todos los ejemplos mostrados en el libro por captulo, as
como el software utilizado y otros aspectos de inters. Adems se incluye el documento
en pdf.
Si al insertar el CD no se ejecuta automticamente, el usuario deber abrir el
archivo inicio.html que se encuentra en el directorio raz del CD. Una vez abierto, se
podr ver la pgina de inicio; pulse la imagen Manejo de datos con Visual Basic y
ASP.NET, se visualizar la pgina principal donde encontrar los vnculos para cada
captulo, los anexos, el software, los archivos con el cdigo fuente y el documento del
libro.
7

INTRODUCCIN
Visual Basic .NET (VB.NET) es una versin de Visual Basic enfocada al desarrollo de
aplicaciones .NET, e implementada sobre el Framework.NET (ms adelante se explica
este tema). Dicho lenguaje de programacin es orientado a objetos, donde es posible la
creacin de clases que pueden derivarse de otras mediante herencia, la sobrecarga de
mtodos, el control estructurado de excepciones o la creacin de aplicaciones con
mltiples hilos de ejecucin, adems de contar con la extensa librera de .NET, con la
que permite desarrollar tanto aplicaciones Windows Forms y formularios Web, como el
manejo de diversos proveedores de bases de datos, el envo de datos mediante
documentos XML1 y la generacin de informes a partir de archivos de texto, bases de
datos, etc.
Para programar con Visual Basic .NET generalmente se utiliza el entorno de
desarrollo integrado Microsoft Visual Studio (2003, 2005, 2008), aunque tambin es
posible trabajar con el software libre SharpDevelop. Todos los programas basados en
Visual Basic. NET requieren un Framework .NET para ejecutarse.
Microsoft .NET.
Microsoft .NET es un entorno integrado de ejecucin, compilacin, depuracin y
desarrollo de aplicaciones. Los diferentes lenguajes de programacin de la plataforma
comparten el mismo entorno, normas, reglas y libreras de Microsoft .NET Framework.
La plataforma .NET proporciona software que permite conectar sistemas, informacin,
dispositivos y usuarios distintos de un modo ms unificado y personalizado. Incorpora
servicios Web XML como medio para permitir la interoperabilidad entre tecnologas
diferentes. Tambin proporciona a los desarrolladores de software las herramientas y la
tecnologa para crear rpida y eficazmente soluciones de negocio que abarcan mltiples
aplicaciones y mltiples dispositivos cliente entre diversas organizaciones, adems
permite a los usuarios controlar qu informacin, cmo y cundo se les entrega. Sus
componentes de trabajo son:
El conjunto de lenguajes de programacin: adems del Visual Basic, la
plataforma .NET puede trabajar los lenguajes de programacin C++, C#, J#
entre otros.
La biblioteca de clases base o BCL: maneja las operaciones bsicas involucradas
en el desarrollo de aplicaciones, algunas operaciones son: interaccin con
dispositivos perifricos, manejo de datos, administracin de memoria,
administracin de componentes Web, herramientas graficas, operaciones
matemticas, generacin de cdigo, etc. La BCL se clasifica en: .NET, Windows
Forms, ASP.NET, ADO.NET.
El entorno comn para ejecucin de lenguajes o CLR (Common Language
Runtime) es el entorno de ejecucin en donde se cargan las aplicaciones
desarrolladas en los diferentes lenguajes. Esta herramienta compila el cdigo
fuente de los lenguajes soportados por .NET en un cdigo intermedio (Microsoft
Intermediate Language MSIL o CIL2). Para generarlo, el compilador se basa en
1

XML es el estndar de Extensible Markup Language. XML no es ms que un conjunto de reglas para
definir etiquetas semnticas que nos organizan un documento en diferentes partes. XML es un
metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados.
2
Lenguaje ensamblador orientado a objetos y est basado en pilas.

la especficacin CLS (Common Language Specification) que determina las


reglas necesarias para crear el cdigo MSIL compatible con el CLR. Adems,
para ejecutarse necesita un compilador JIT3 (Just-In-Time) el cual genera el
cdigo mquina4 real que se ejecuta en la plataforma del cliente. De esta forma
se consigue con .NET independencia de la plataforma de hardware.

.NET Framework
El .NET Framework es un conjunto de servicios de programacin diseados para
simplificar el desarrollo de aplicaciones sobre el entorno distribuido de Internet. El
diseo de .NET Framework est enfocado a cumplir los objetivos siguientes:

Proporcionar un entorno coherente de programacin orientada a objetos, en el


que el cdigo de los objetos se pueda almacenar y ejecutar en forma local pero
distribuida en Internet o ejecutar en forma remota.

Proporcionar un entorno de ejecucin de cdigo que reduzca lo mximo posible


la implementacin de software y los conflictos de versiones.

Ofrecer un entorno de ejecucin de cdigo que fomente la ejecucin segura del


mismo, incluso del creado por terceras personas desconocidas o que no son de
plena confianza.

Proporcionar un entorno de ejecucin de cdigo que elimine los problemas de


rendimiento de los entornos en los que se utilizan secuencias de comandos o
intrpretes de comandos.

Ofrecer al programador una experiencia coherente entre tipos de aplicaciones


muy diferentes, como las basadas en Windows o en el Web.

.NET Framework contiene dos componentes principales: Common Language


Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es
el fundamento de .NET Framework. El motor en tiempo de ejecucin se puede
considerar como un agente que administra el cdigo en tiempo de ejecucin y
proporciona servicios centrales, como la administracin de memoria, la administracin
de subprocesos y la interaccin remota, al tiempo que aplica una seguridad estricta a los
tipos y otras formas de especficacin del cdigo que fomentan su seguridad y solidez.
De hecho, el concepto de administracin de cdigo es un principio bsico del motor en
tiempo de ejecucin. El cdigo destinado al motor en tiempo de ejecucin se denomina
cdigo administrado, a diferencia del resto de cdigo, que se conoce como cdigo no
administrado. La biblioteca de clases, el otro componente principal de .NET
Framework, es una completa coleccin orientada a objetos de tipos reutilizables que se
pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales
herramientas de interfaz grfica de usuario (GUI) o de lnea de comandos hasta las

Tcnica para mejorar el rendimiento de sistemas de programacin que compilan a bytecode, consistente
en traducir el bytecode a cdigo mquina nativo en tiempo de ejecucin.
4
Sistema de cdigos directamente interpretable por un circuito microprogramable, como el
microprocesador de un computador o el microcontrolador de un autmata (un PLC). Este lenguaje est
compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina.

aplicaciones basadas en las innovacones ms recientes proporcionadas por ASP.NET,


como los formularios Web Forms y los servicios Web XML.
En la ilustracin siguiente se muestra la relacin de Common Language Runtime y
la biblioteca de clases con las aplicaciones y el sistema en su conjunto.

.NET Framework en contexto.

10

1. MANEJO DE ARCHIVOS
Muchos de los programas que se crean con Visual Basic .NET necesitan interactuar con
datos del exterior, procesarlos para luego mostrarlos en un formulario, guardarlos en
archivos de texto, en una hoja de Excel, en un archivo de Word, enviarlos a la red o
simplemente imprimirlos en papel, etc. Se usan archivos para conservar a largo plazo
grandes cantidades de datos. Los datos guardados en archivos se conocen como datos
persistentes. Los computadores guardan los archivos en dispositivos de almacenamiento
secundario como discos magnticos, pticos y cintas magnticas.
Para procesar archivos en Visual Basic .NET se debe hacer uso del espacio de
nombres5 System.IO. El espacio de nombres System.IO contiene enumeraciones para
la apertura de archivos, el acceso a los archivos, el uso compartido de archivos,
adems, de clases para las operaciones de rutas de acceso y la manipulacin de flujos de
datos.
1.1 Clase File
Se puede utilizar la clase File para operaciones como copiar, mover, cambiar el nombre,
crear, abrir, eliminar y anexar texto a archivos de texto plano. Tambin con la clase File
se puede obtener y definir atributos del archivo o informacin relacionada con la hora y
fecha de creacin, el acceso y la escritura en un archivo.
Stream es la clase base de todas las secuencias de flujos de datos. Una secuencia
es una abstraccin de una secuencia de bytes, como un archivo, un dispositivo de
entrada/salida, un canal de comunicacin interprocesos o un socket TCP/IP. La clase
Stream y sus clases derivadas proporcionan una visin genrica de diferentes tipos de
entrada y salida, aislando al programador de los detalles especficos del sistema
operativo y sus dispositivos subyacentes.
Algunos mtodos de la clase File son:
Tabla 1.1 Mtodos de la clase File.
Mtodo
CreateText(ruta)
Create(ruta)
AppendText
Delete
Copy
Exists
Open
Move
GetCreateTime
Replace

Proceso
Crea o abre un archivo para escribir texto.
Crea un archivo en la ruta especficada
Anexa texto a un archivo de texto
existente.
Elimina un archivo existente.
Copia un archivo
Determina si existe un archivo especfico.
Abre un archivo de texto existente
Mueve un archivo a un sitio especfico.
Devuelve la hora y la fecha de la creacin
de un archivo.
Reemplaza el contenido de un archivo en
otro.

Se usan para agrupar clases y otros tipos de datos que estn relacionados entre s.

11

1.1.1 Ejemplo clase File


Hacer un nuevo proyecto llamado GuardarbrirConFile y realizar un programa que
permita a un usuario guardar informacin en un archivo de texto plano, recuperar la
informacin de ste, as como adicionarle informacin utilizando la clase File.
NOTA: Si lo considera necesario puede revisar el Anexo A, donde se explica
brevemente la creacin, la interfaz de usuario, el establecimiento de propiedades a los
controles, la escritura de cdigo, la ejecucin de un nuevo proyecto Windows Forms.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 2 TextBox, 3
Button.
Figura 1.1 Interfaz de usuario (GuardarbrirConFile).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a las propiedades en los controles:


Tabla 1.2 Propiedades de los controles del proyecto GuardarbrirConFile.
Control
Label1

Label2
TextBox1

TextBox2

Button1

Propiedad
Name
Text
Name
Text
Name
Text
Multiline
Name
Text
Multiline
Name

12

Valor
etiquetaver
Texto
del
archivo
escritura/lectura.
etiquetaadicion
Texto para adicionar
texto
En blanco
true
textoadicional
En blanco
true
botonguardar

de

Button2
Button3
Form1

Text
Name
Text
Name
Text
Name
Text

Guardar en archivo
botonabrir
Abrir archivo
botonadicionar
Adicionar texto
formulario
Guardar, leer y adicionar datos
en archivo de texto.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 1.2 Interfaz de usuario, propiedades modificadas (GuardarbrirConFile).

Escribir cdigo
a) Antes de la apertura de la clase se debe importar el espacio de nombres
System.IO. D doble clic sobre el formulario y busque Public class formulario
y antes de este cdigo escriba imports System.IO. El cdigo queda de la
siguiente manera:
imports System.IO
Public Class formulario

End Class

Se importa el espacio de nombres System.IO para poder manipular los mtodos


de la clase File.
b) En modo diseo del formulario, seleccione el objeto botonguardar, d doble
clic para abrir el editor de cdigo botonguardar_Click y escriba el siguiente
cdigo:
Try
Dim escribir As StreamWriter
escribir = File.CreateText("c:\datosentexto.txt")
escribir.Write(texto.Text)
escribir.Close()
texto.Text = ""

13

MsgBox("Texto Guardado", MsgBoxStyle.Information)


Catch ex As Exception
MsgBox("Error al guardar el archivo", MsgBoxStyle.Critical)
End Try

Se define un bloque Try-Catch para atrapar errores y las acciones a


seguir. Aunque no es necesario, es una buena prctica cuando se estn
realizando operaciones de entrada/salida para evitar salidas anormales del
sistema. En el bloque Try se establece el cdigo que realiza una tarea especfica
y que en un caso dado puede generar un error; en el bloque Catch ir el cdigo
que realizar las acciones a seguir en caso de error.
Dentro del bloque Try se crea un objeto llamado escribir de tipo
StreamWriter (flujo de escritura). A dicho objeto se le asigna la creacin del
archivo de texto c:\datosentexto.txt por medio del mtodo createText de la
clase File. Utilizando el mtodo write y envindole como parmetro el
contenido del control llamado texto, se guarda la informacin en el archivo
especficado. Por otro lado, se cierra el archivo utilizando el mtodo close() y se
limpia el objeto texto. Por ltimo se muestra una caja de mensajes con el
mensaje Texto Guardado. En el bloque Catch se captura en el objeto ex de
tipo Exception el error que se pueda generar y se mostrar el mensaje Error al
guardar el archivo.
c) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo
botonabrir_Click y escriba el siguiente cdigo:
Try
Dim leer As StreamReader
leer = File.OpenText("c:\datosentexto.txt")
texto.Text = leer.ReadToEnd
leer.Close()
Catch ex As Exception
MsgBox("Error al leer el archivo", MsgBoxStyle.Critical)
End Try

Dentro del bloque Try se crea un objeto llamado leer de tipo


StreamReader (flujo de lectura). A dicho objeto se le establece la apertura del
archivo de texto c:\datosentexto.txt por medio del mtodo openText de la
clase File. Utilizando el mtodo readToEnd se lee el archivo de texto desde el
inicio hasta el final y se le asigna su contenido al objeto texto. Por otro lado, se
cierra el archivo utilizando el mtodo close (). En el bloque Catch si se genera
algn error se mostrar el mensaje Error al leer el archivo.
d) Seleccione el objeto botonadicionar, d doble clic para abrir el editor de cdigo
botonadicionar_Click y escriba el siguiente cdigo:
Try
texto.Text = " "
Dim adicionartexto As StreamWriter
adicionartexto = File.AppendText("C:\datosentexto.txt")
adicionartexto.WriteLine(textoadicional.Text)
adicionartexto.Close()
textoadicional.Text = ""
Catch ex As Exception
MsgBox("Error al adicionar inf. al archivo", MsgBoxStyle.Critical)
End Try

14

Dentro del bloque Try primero se coloca el objeto texto en blanco y


luego se crea un objeto llamado adicionartexto de tipo StreamWriter (flujo de
escritura). A dicho objeto se le asigna la propiedad de adicin del texto al
archivo c:\datosentexto.txt por medio del mtodo AppendText de la clase
File. Utilizando el mtodo WriteLine y envindole como parmetro el
contenido del control llamado textoadicional, se adiciona la informacin al final
del archivo especficado. Por otro lado se cierra el archivo utilizando el mtodo
close () y se limpia el objeto textoadicional. En el bloque Catch si se genera
algn error, se mostrar el mensaje Error al adicionar inf. al archivo.

Ejecutar el proyecto

Para ejecutar el proyecto pulse la tecla F5 o el icono


, se visualizar la figura 1.2. Al
escribir creando un nuevo archivo para guardarlo con el botn Guardar en archivo
en el objeto texto, dicha figura quedara as:
Figura 1.3 Ejecucin aplicacin AbrirGuardarConFile.

Al pulsar el botn Guardar en Archivo, se crear en C:\ el archivo


datosentexto.txt y el objeto texto se limpiar. Mostrndose la siguiente caja de texto:
Figura 1.4 Mensaje de texto guardado en el archivo datosentexto.txt.

15

Pulse el botn Aceptar para cerrar dicha caja. Al pulsar el botn Leer Archivo,
se visualizar nuevamente la figura 1.3. Si se adiciona el texto adicionando texto al
archivo que previamente haba guardado en el objeto textoadicional. El formulario
deber ser semejante a la siguiente figura:
Figura 1.5 Formulario con el texto original y el texto adicional.

Ahora pulse el botn Adicionar Texto, y nuevamente pulse el botn Leer


Archivo para visualizar la siguiente figura:
Figura 1.6 Lectura del archivo con el texto adicional.

16

1.2 Clases StreamWriter y StreamReader


Las clases StreamWriter y StreamReader permiten las operaciones con archivos de
texto plano. Para hacer uso de estas clases es necesario incluir el espacio de nombres
System.IO. La Clase StreamReader (flujo de lectura) es una opcin ms para la
manipulacin de archivos de texto plano. Esta clase, entre otros, contiene el mtodo
ReadToEnd cuyo objetivo es leer un archivo desde una posicin inicial hasta el final.
La Clase StreamWriter (flujo de escritura) est diseada para la salida de
caracteres. Esta clase contiene entre otros el mtodo Write para escribir informacin en
el archivo.
1.2.1 Ejemplo clases StreamWriter y StreamReader
Crear un proyecto llamado GuardarbrirArchivoTexto y hacer un programa que
permita a un usuario guardar informacin en un archivo de texto plano, as como poder
abrirlo y visualizar el contenido de este, utilizando las clases StreamWriter y
StreamReader.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label, 1 TextBox, 2
Button.
Figura 1.7 Interfaz de usuario (GuardarbrirArchivoTexto).

Establecer las propiedades de los objetos de la interfaz de usuario

Para el caso del ejemplo, establezca las siguientes modificaciones a los controles:

17

Tabla 1.3 Propiedades de los controles del proyecto GuardarbrirArchivoTexto.


Control
Label1

TextBox1

Button1
Button2
Form1

Propiedad
Name
Text
Font Bold
Name
Text
Multiline
Name
Text
Name
Text
Name
Text

Valor
titulo
Guardar y abrir un archivo de
texto.
true
texto
En blanco
true
botonguardar
Guardar archivo de texto
botonabrir
Abrir archivo de texto
formulario
Guardar y abrir archivos de
texto.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 1.8 Interfaz de usuario modificada (GuardarbrirArchivoTexto).

Escribir cdigo
a) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim archivo As New System.IO.StreamWriter("./archivotexto.txt")
archivo.Write(texto.Text)
archivo.Close()
texto.Text = ""
Catch ex As Exception
MsgBox("No se pudo guardar la informacion", MsgBoxStyle.Critical)
End Try

Se define la variable archivo asignndosele un espacio de memoria de


tipo System.IO.StreamWriter (), al cual se le enva como parmetro el nombre
del archivo (archivotexto.txt). Dicho archivo estar ubicado en la carpeta
18

\bin\debug del proyecto. Utilizando el mtodo Write se escribe el contenido del


objeto texto en el archivo. Por otro lado se cierra el archivo utilizando el mtodo
close () y se limpia el objeto texto.
b) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim miruta As String = ("./archivotexto.txt")
Dim archivo As New System.IO.StreamReader(miruta)
texto.Text = archivo.ReadToEnd
archivo.Close()
Catch ex As Exception
MsgBox("No se pudo guardar la informacion", MsgBoxStyle.Critical)
End Try

Se definen las variables miruta de tipo String, la cual se inicializa con la


ruta y el nombre del archivo archivotexto.txt y la variable archivo
asignndosele un espacio de memoria de tipo System.IO.StreamWriter ().
Utilizando el mtodo ReadToEnd se lee el contenido del archivo y se le asigna
al objeto texto. Por ltimo se cierra el archivo.

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo de Visual Basic.NET/2008, se


visualizar la figura 1.8. Al adicionrsele el texto El amor es el principio de todo, la
razn de todo, el fin de todo en el objeto llamado texto, el formulario presentara el
siguiente aspecto:
Figura 1.9 Ejecucin aplicacin GuardarbrirArchivoTexto.

Al pulsar el botn con la etiqueta Guardar Archivo de texto, se crear un


archivo de texto llamado archivotexto.txt y el objeto texto quedara en blanco. Al
pulsar el botn Abrir Archivo de texto, se cargar en el objeto texto el contenido del
archivo de texto.
19

1.3 Controles OpenFileDialog y SaveFileDialog


Los controles OpenFileDialog y SaveFileDialog del cuadro de herramientas de Visual
Basic .NET /2008, son cuadros de dilogo que permiten abrir y guardar archivos,
respectivamente. El control OpenFileDialog representa un cuadro de dilogo para
seleccionar un archivo que ser abierto. El control SaveFileDialog representa un cuadro
de dilogo para guardar un archivo nuevo o sobrescribir en un archivo existente. Estos
controles obtienen su funcionamiento de la clase abstracta FileDialog. La clase
FileDialog es un cuadro de dilogo modal; por tanto, al mostrarse, bloquea el resto de la
aplicacin hasta que el usuario haya elegido un archivo o cancelado la operacin.
1.3.1 Ejemplo con los controles OpenFileDialog y SaveFileDialog
Realizar un proyecto llamado GuardarbrirConControles y disear un programa que
permita a un usuario guardar informacin en un archivo de texto plano, as como poder
abrirlo y visualizar el contenido de ste, utilizando los controles OpenFileDialog y
SaveFileDialog.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 1 TextBox, 2
Button, 1 OpenFileDialog y 1 SaveFileDialog.
Figura 1.10 Interfaz de usuario (GuardarbrirArchivoConControles)

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


20

Tabla 1.4 Propiedades de controles proyecto GuardarbrirArchivoConControles.


Label1

Control

Propiedad
Name
Text

Label2

Font Bold
Name
Text

TextBox1

SavefileDialog1
OpenFileDialog1
Button1
Button2
Form1

Valor
titulo1
Guardar y abrir archivo de texto
con los controles.
true
titulo2
SaveFileDialog
y
OpenFileDialog.
true
texto
En blanco
true
guardarrchivo
abrirrchivo
botonguardar
Guardar archivo de texto
botonabrir
Abrir archivo de texto
formulario
Controles
SaveFileDialog
y
OpenFileDialog.

Font Bold
Name
Text
Multiline
Name
Name
Name
Text
Name
Text
Name
Text

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 1.11 Interfaz de usuario modificada (GuardarbrirArchivoconControles).

Escribir cdigo
a) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
21

guardarrchivo.Filter = "Archivos de texto (*.txt)| *.txt"


guardarrchivo.ShowDialog()
If guardarrchivo.FileName <> "" Then
Try
Dim guardar As IO.StreamWriter
guardar = New IO.StreamWriter(guardarrchivo.FileName)
guardar.Write(texto.Text)
guardar.Close()
texto.Text = ""
Catch ex As Exception
MsgBox("No se pudo guardar el archivo")
End Try
Else
MsgBox("Archivo no contiene informacin")
End If

En el anterior cdigo se utiliza la propiedad Filter del control


guardarrchivo para que cuando se abra el cuadro de dilogo solamente se
visualicen los archivos con extensin .txt. El mtodo ShowDialog permite abrir
el cuadro de dilogo. Utilizando la estructura if se pregunta si el nombre de
archivo es diferente de vaco utilizando la propiedad FileName. Si se cumple la
condicin se crea un objeto llamado guardar de tipo IO.StreamWriter al cual
se le asigna espacio de memoria envindole como parmetro el nombre del
archivo por intermedio de la propiedad FileName del control guardarrchivo.
Por otro lado, se utiliza el mtodo Write para guardar el contenido del objeto
texto; luego se cierra el objeto con el mtodo close () y por ltimo se limpia el
objeto texto. Si el nombre del archivo est en blanco se mostrar un mensaje
informando que el archivo esta vaco o no contiene informacin.
b) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
abrirrchivo.Filter = "Archivos de texto (*.txt)| *.txt"
abrirrchivo.ShowDialog()
If abrirrchivo.FileName <> "" Then
Try
Dim verarchivo As New IO.StreamReader(abrirrchivo.FileName)
texto.Text = verarchivo.ReadToEnd
verarchivo.Close()
Catch ex As Exception
MsgBox("No se pudo abrir el archivo")
End Try
Else
MsgBox("Archivo no contiene informacin")
End If

Utilizando la estructura if se pregunta si el nombre de archivo es


diferente de vaco. Si se cumple la condicin se crea un objeto llamado
verarchivo de tipo IO.StreamReader al cual se le asigna espacio de memoria
envindole como parmetro el nombre del archivo por intermedio de la
propiedad FileName del control abrirrchivo. Por otro lado, se utiliza el
mtodo ReadToEnd para leer el archivo y asignarle el contenido al objeto texto,
luego se cierra el objeto con el mtodo close (). Si, por el contrario, no contiene
informacin, se mostrar un mensaje informando que el archivo esta vaci.
22

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo de Visual Basic.NET se visualizar


la figura 1.11. Al pulsar el botn Abrir Archivo de Texto se visualizar el cuadro de
dilogo de Abrir. Se debe seleccionar un archivo de texto y pulsar el botn del cuadro
de dilogo Abrir.
Figura 1.12 Cuadro de Dilogo control abrirrchivo.

El formulario presentara un aspecto similar:


Figura 1.13 Formulario con archivo de texto abierto.

Al pulsar el botn Guardar Archivo de Texto se visualizar el cuadro de


dilogo de Guardar como, donde se deber digitar el nombre del archivo a guardar y
pulsar el botn del cuadro de dilogo Guardar. Si el archivo ya existe, preguntar si
desea sobrescribirlo.

23

Figura 1.14 Cuadro de dilogo control guardar archivo.

1.4 Archivos secuenciales


Otra forma de guardar o leer informacin de un archivo de texto plano es utilizar
archivos secuenciales. Los archivos secuenciales se denominan de esta manera porque
para guardar y leer la informacin se realiza desde el principio hasta el final del archivo,
es decir, para acceder a un dato que se encuentra en la mitad del archivo es necesario
empezar a recorrerlo desde el principio hasta encontrar el dato, o sea en forma
secuencial. El acceso secuencial funciona mejor cuando se desea procesar archivos
nicamente de texto y no archivos en los que los datos se dividen en una serie de
registros.
Cuando se abre un archivo para acceso secuencial, se debe especficar si se va a
escribir en el archivo (Input), si se va a leer el archivo (Output) o si se va a adicionar
informacin al archivo (Append). Para accesar a un archivo secuencial se utiliza la
funcin FileOpen. Cuando se abre un archivo secuencial para Input, el archivo ya debe
existir; de lo contrario, se producir un error. No obstante, cuando se intenta abrir un
archivo que no existe para Output o Append, la instruccin FileOpen primero crea el
archivo y a continuacin lo abre. Una vez que se abre un archivo para una operacin
Input, Output o Append, debe cerrarse con la instruccin FileClose antes de volver a
abrirlo para realizar otro tipo de operacin.
1.4.1 Ejemplo de archivos secuenciales
Crear un proyecto llamado ArchivosSecuenciales y realizar un programa que permita a
un usuario guardar informacin en un archivo de texto plano, leer la informacin de
ste, as como adicionarle ms informacin a dicho archivo utilizando archivos
secuenciales.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 4 Label, 3 TextBox, 3
Button.
24

Figura 1.15 Interfaz de usuario (ArchivosSecuenciales).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 1.5 Propiedades de controles proyecto ArchivosSecuenciales.
Control
Label1

Propiedad
Name
Text

Label2

Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Multiline
Name
Text
Name
Text
Name
Text
Name
Text

Label3
Label4
TextBox1
TextBox2
TextBox3

Button1
Button2
Button3
Form1

Valor
titulo
Guardar/adicionar inf. archivo
secuencial.
etiquetanombre
Digite nombres:
etiquetaapellido
Digite apellidos:
mostrar
Lectura del archivo:
textonombre
En blanco
textoapellido
En blanco
textolectura
En blanco
true
botonguardar
Guardar archivo
botonadicionar
Adicionar texto
botonabrir
Leer archivo
formulario
Guardar, adicionar y leer
archivo secuencial.

25

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 1.16 Interfaz de usuario modificada (ArchivosSecuenciales).

Escribir cdigo
a) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
FileOpen(1, "c:\datossecuenciales.txt", OpenMode.Output)
PrintLine(1, textonombre.Text, textoapellido.Text)
textonombre.Text = ""
textoapellido.Text = ""
FileClose(1)
Catch ex As Exception
MsgBox("No se pudo guardar el archivo")
End Try

En el anterior cdigo se utiliza la funcin FileOpen con los parmetros:


1, un nmero de archivo libre, c:\datossecuenciales.txt, nombre del archivo,
OpenMode.OutPut, modo de apertura del archivo (salida). Con el mtodo
PrintLine se imprime en una lnea del archivo el contenido de los objetos
textonombre y textoapellido, luego se limpian dichos objetos y por ltimo se
cierra el archivo.
b) Seleccione el objeto botonadicionar, d doble clic para abrir el editor de cdigo
y escriba el siguiente cdigo:
Try
FileOpen(1, "c:\datossecuenciales.txt", OpenMode.Append)
PrintLine(1, textonombre.Text, textoapellido.Text)
textonombre.Text = ""
textoapellido.Text = ""
FileClose(1)
Catch ex As Exception
MsgBox("No se pudo adicionar el archivo")
End Try

26

Lo nico que cambia con respecto a la opcin de Guardar archivo es el


modo de apertura del archivo (OpenMode.Append), se cambia OutPut por
Append (adicionar). Este modo de apertura permite guardar ms informacin al
final del archivo especficado.
c) Seleccione el objeto botonabrir, de doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
FileOpen(1, "c:\datossecuenciales.txt", OpenMode.Input)
Dim linea As String
Do Until EOF(1)
linea = LineInput(1)
textolectura.Text = textolectura.Text & linea & vbCrLf
Loop
FileClose(1)
Catch ex As Exception
MsgBox("No se pudo abrir el archivo")
End Try

Se utiliza la funcin FileOpen con los parmetros: 1, un nmero de


archivo libre, c:\datossecuenciales.txt, nombre del archivo, OpenMode.Input
modo de apertura del archivo (entrada). Se define una variable llamada linea de
tipo String, la cual servir para guardar cada lnea del archivo. Por otro lado se
crea un ciclo (Do Until Loop) que recorrer el archivo hasta el final (EOF)
lnea por lnea y utilizando el mtodo LineInput () se le asignar la informacin
leida al objeto textolectura, por ltimo se cierra el archivo.

Ejecutar el proyecto

Al ejecutarse el proyecto se visualizar la figura 1.16. Al escribir un nombre y un


apellido en las respectivas cajas de texto y pulsar el botn Guardar archivo, se
guardar dicha informacin en el archivo c:\datossecuenciales.txt. El formulario con
la informacin quedara de la siguiente forma:
Figura 1.17 Formulario con informacin de nombre y apellido.

27

Si se desea adicionar ms informacin al archivo de texto, escriba nuevamente


los nombres y apellidos correspondientes y pulse el botn Adicionar texto, se podra
obtener la siguiente pantalla:
Figura 1.18 Formulario con informacin para adicionar.

Al pulsar el botn Leer Archivo se leer el contenido del archivo de texto, como
se muestra en la siguiente figura.
Figura 1.19 Formulario con la informacin del archivo.

28

1.5 Archivos binarios


Tambin es posible guardar o leer informacin desde un archivo con acceso binario.
Con los archivos de acceso binario se puede almacenar informacin ya sea numrica, de
cadena o de ambas. Este tipo de archivo no requiere campos de longitud fija. No
obstante, es necesario conocer cmo se escribieron exactamente los datos en el archivo
para poder recuperarlos correctamente. Por ejemplo, si almacena una serie de productos
y unas cantidades, debe tener en cuenta que el primer campo (producto) es texto y el
segundo (cantidades) es numrico.
Para abrir un archivo para acceso binario, se recurre a OpenMode.Binary con la
instruccin FileOpen. Una vez abierto, para escribir en el archivo se utiliza las
funciones FilePut y FilePutObject. Para leer un archivo se manejan las funciones
FileGet y FileGetObject.
1.5.1 Ejemplo de archivos binarios
Realizar un proyecto llamado ArchivosBinarios y hacer un programa que permita a un
usuario guardar informacin en un archivo de texto plano, leer la informacin de este,
utilizando archivos binarios.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 3 Label, 3 TextBox, 2
Button.
Figura 1.20 Interfaz de usuario (ArchivosBinarios).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:

29

Tabla 1.6 Propiedades de controles proyecto ArchivosBinarios.


Control
Label1

Propiedad
Name
Text

Label2

Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Multiline
Name
Text
Name
Text
Name
Text

Label3
TextBox1
TextBox2
TextBox3

Button1
Button2
Form1

Valor
titulo
Guardar/adicionar inf. archivo
binario.
etiquetaproducto
Digite producto:
etiquetacantidad
Digite cantidad:
textoproducto
En blanco
textocantidad
En blanco
textolectura
En blanco
true
botonguardar
Guardar archivo
botonabrir
Leer archivo
formulario
Guardar/leer archivo binario.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 1.21 Interfaz de usuario modificada (ArchivosBinarios).

Escribir cdigo
a) Definir una estructura llamada Articulo despus de Public class formulario:
Structure Articulo
<VBFixedString(30)> Dim producto As String
<VBFixedString(10)> Dim cantidad As String
End Structure

30

Se define una estructura (Structure) llamada Articulo que contendr dos


tipos de datos String producto y cantidad. Se utiliza el atributo
VBFixedString () para definir la longitud mxima de los datos.
b) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Dim nombrearchivo As String
Dim numeroarchivo As Short
Dim inventario As Articulo
inventario.producto = textoproducto.Text
inventario.cantidad = textocantidad.Text
numeroarchivo = FreeFile()
nombrearchivo = "c:\datosaleatorios.txt"
FileOpen(numeroarchivo, nombrearchivo, OpenMode.Binary)
FilePut(numeroarchivo, inventario)
FileClose(numeroarchivo)

Se crean las variables nombrearchivo de tipo String, numeroarchivo


de tipo Short e inventario de tipo Articulo. Se le asigna la informacin
capturada en los objetos textoproducto y textocantidad a los datos de la
estructura Articulo utilizando la instancia inventario. La variable
numeroarchivo es inicializada con un nmero de archivo libre utilizando la
funcin FreeFile (), como tambin se le asigna a la variable nombrearchivo la
ruta y el nombre del archivo donde se guardar la informacin. Se abre el
archivo en modo binario utilizando la funcin FileOpen que recibe como
parmetros: un nmero de archivo libre (numeroarchivo), el nombre del
archivo (nombrearchivo), la apertura del archivo binario (OpenMode.Binary).
Con FilePut se escriben los valores que contiene la estructura inventario en el
archivo binario y por ltimo se cierra el archivo.
c) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Dim nombrearchivo As String
Dim numeroarchivo As Short
numeroarchivo = FreeFile()
nombrearchivo = "c:\datosaleatorios.txt"
FileOpen(numeroarchivo, nombrearchivo, OpenMode.Binary)
textolectura.Text = New String(" "c, 50)
FileGet(numeroarchivo, textolectura.Text)
FileClose(numeroarchivo)

Como se puede apreciar, las primeras cinco lneas son exactamente


iguales a la opcin de guardar. Se le asigna al objeto textolectura en su
propiedad text un espacio de memoria de tipo char ( c), con un espacio para
50 caracteres. Se utiliza la funcin FileGet para leer el contenido del archivo,
ste recibe como parmetros: el numero del archivo (numeroarchivo) y el
objeto textolectura, el cual contendr el contenido del archivo de texto. Por
ltimo se cierra el archivo.

31

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo de Visual Basic.NET/2008, se


visualizar la figura 1.21. Al escribir un producto y una cantidad en las respectivas cajas
de texto y pulsar el botn Guardar Archivo, se guardar dicha informacin en el
archivo c:\datosaleatorios.txt. Al pulsar el botn Leer Archivo, el formulario con la
informacin leda quedara de la siguiente forma:
Figura 1.22 Formulario con informacin de un producto y una cantidad.

1.6 Importar y exportar datos de una hoja de Excel


Hasta el momento se ha trabajado con archivos de texto plano en donde se ha podido
guardar, adicionar y recuperar informacin. Con Visual Basic .NET tambin es posible
manipular archivos con otro tipo de formato; por eso en este aparte se exportar datos
desde un proyecto de Visual Basic .NET a un archivo de Excel y se importarn datos de
un archivo de Excel a un proyecto de Visual Basic .NET.
16.1

Ejemplo importar y exportar datos de Excel

Dentro de un proyecto llamado ImportarExportarExcel, hacer un programa que


permita a un usuario exportar y/o importar datos de una hoja de Excel. Cuando se
importe de Excel los datos se debern mostrar en un control DataGridView de Visual
Basic .NET, as como se deber solicitar el rango de datos a importar. Al exportar se
debern enviar todos los datos que contenga el control DataGridView a un archivo de
Excel.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label, 1 TextBox, 2
Button y 1 DataGridView.
32

Figura 1.23 Interfaz de usuario (ImportarExportarExcel).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 1.7 Propiedades de controles proyecto ImportarExportarExcel.
Control
Label1

TextBox1
DataGridView1
Button1
Button2
Form1

Propiedad
Name
Text
Font Bold
Name
Text
Name
Name
Text
Name
Text
Name
Text

Valor
texto
Rango a importar de
Excel
true
rango
A1:D10
tabla
botonimportar
Importar de Excel
botonexportar
Exportar a Excel
formulario
Importar y exportar de
Excel.

La interfaz de usuario queda como se muestra en la siguiente figura:


33

Figura 1.24 Interfaz de usuario modificada (ImportarExportarExcel).

Escribir cdigo

Antes de escribir cdigo, se deber crear un archivo en Excel llamado


importardatos.xls y en la hoja uno (1) escribir informacin en el rango A1:D10,
como se muestra en la siguiente figura:
Figura 1.25 Hoja de Excel con datos.

a) Seleccione el objeto botonimportar, d doble clic para abrir el editor de cdigo


y escriba el siguiente cdigo:
importar_Excel("c:\importardatos.xls", "hoja1", rango.Text, tabla)

Se llama al procedimiento importar_Excel, el cual tiene como


34

parmetros: la ruta y el nombre del archivo de Excel, el nombre de la hoja donde


se encuentran los datos en Excel, el rango de datos a importar y el nombre del
control DataGridView (tabla).
b) D doble clic sobre el formulario y cree el siguiente procedimiento Sub:
Private Sub importar_Excel(ByVal archivoexcel As String, ByVal nombrehoja As String,
ByVal rangohoja As String, ByVal tabla As DataGridView)
Try
If System.IO.File.Exists(archivoexcel) Then
Dim conjuntodedatos As System.Data.DataSet
Dim adaptadordedatos As System.Data.OleDb.OleDbDataAdapter
Dim conexion As String = "provider=Microsoft.Jet.OLEDB.4.0; " & "data
Source =" & archivoexcel & "; Extended Properties=Excel 8.0;"
Dim conectordedatos As System.Data.OleDb.OleDbConnection
conectordedatos = New System.Data.OleDb.OleDbConnection(conexion)
Dim selecciondedatos As String = "select * from " & "[" & nombrehoja & "$" &
rangohoja & "]"
adaptadordedatos = New System.Data.OleDb.OleDbDataAdapter
(selecciondedatos,conectordedatos)
conjuntodedatos = New System.Data.DataSet
adaptadordedatos.Fill(conjuntodedatos)
conectordedatos.Close()
With tabla
.DataSource = conjuntodedatos
.DataMember = conjuntodedatos.Tables(0).TableName
End With
conjuntodedatos = Nothing
conexion = Nothing
adaptadordedatos = Nothing
conectordedatos = Nothing
Else
MsgBox("No se ha encontrado el archivo: " & archivoexcel,
MsgBoxStyle.Exclamation)
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub

Se crea el procedimiento importar_Excel, el cual recibe como


parmetros: las variables archivoexcel, nombrehoja, rangohoja de tipo String
y tabla de tipo DataGridView. La variable archivoexcel contendr la ruta y el
nombre del archivo de Excel, nombrehoja almacenar el nombre de la hoja de
Excel, rangohoja obtendr el rango a importar y tabla visualizar los datos
importados. Utilizando la estructura if y con el mtodo Exists se determina si el
archivo existe. Si es verdadero, se crean las variables: conjuntodedatos de tipo
DataSet para guardar el conjunto de datos a importar; adaptadordedatos de
tipo OleDbDataAdapter, con la cual se obtiene el adaptador de datos OLEDB
para recuperar los datos; conexion de tipo String que contendr la cadena de
conexin a Excel; conectordedatos de tipo OleDbConnection que representa
una conexin nica a un origen de datos; en este caso, se le asigna espacio de
memoria y se le enva como parmetro la cadena de conexin; selecciondedatos
de tipo String a la cual se le asigna la sentencia de seleccin SQL (select) que
trae los datos de la hoja1(nombrehoja) en el rango especficado (rangohoja).
35

Al adaptador de datos adaptadordedatos se le asigna espacio de memoria,


envindole como parmetro los datos seleccionados (selecciondedatos) y la
cadena de conexin (conexiondedatos), tambin se asigna espacio de memoria
de tipo DataSet al objeto conjuntodedatos y el adaptador de datos
(adaptadordedatos) se rellena (fill) con el conjunto de datos. Por otro lado se
cierra la conexin de los datos con close (). Adems se asigna a la propiedad
DataSource del objeto tabla el conjunto de datos y al adaptador de datos se le
asigna la lista de datos que contiene el archivo de Excel, por ltimo se liberan
todos los objetos utilizando la palabra clave Nothing (liberar). Si la condicin es
falsa se mostrar un mensaje donde se informa que no se pudo encontrar el
archivo de Excel.
c) Seleccione el objeto botonexportar, d doble clic para abrir el editor de cdigo
y escriba el siguiente cdigo:
exportar_Excel(tabla, tabla.Rows.Count)

Se llama al procedimiento exportar_Excel, el cual tiene como


parmetros: el objeto DataGridView llamado tabla y la cantidad de filas que
contiene dicho objeto utilizando la funcin Count de la propiedad Rows.
d) D doble clic sobre el formulario y cree el siguiente procedimiento Sub:
Private Sub exportar_Excel(ByVal tabla As DataGridView, ByVal nrofilas As Long)
Dim archivo_excel As Object
Dim libro_excel As Object
Dim hoja_excel As Object
Dim i As Integer
Dim j As Integer
Dim iColumnas As Integer
If nrofilas = 0 Then
MsgBox("No hay datos para exportar a excel. Se ha indicado 0 en el parmetro
Filas ") : Exit Sub
Else
archivo_excel = CreateObject("Excel.Application")
libro_excel = archivo_excel.Workbooks.Open("c:\exportardatos.xls")
hoja_excel = archivo_excel.ActiveSheet
iColumnas = 0
For i = 0 To tabla.Columns.Count - 1
If tabla.ColumnHeadersVisible Then
iColumnas = iColumnas + 1
hoja_excel.Cells(1, iColumnas) = tabla.Columns(i).HeaderText
For j = 0 To nrofilas - 1
hoja_excel.Cells(j + 2, iColumnas) = tabla.Item(i, j).Value
Next
End If
Next
archivo_excel.Visible = True
End If
hoja_excel = Nothing
libro_excel = Nothing
archivo_excel = Nothing
End sub

Se crea el procedimiento exportar_Excel, el cual recibe como


parmetros: las variables tabla de tipo DataGridView y nrofilas de tipo long.
36

El objeto tabla contendr los datos a exportar y nro_filas el nmero de filas del
objeto tabla. Se definen los objetos archivo_excel, hoja_excel, libro_excel de
tipo Object y se crean las variables i, j, icolumnas de tipo Integer. Utilizando la
estructura if se pregunta si nro_filas es igual a cero (0), si es verdadero se
imprimir el mensaje de la no existencia de datos en el archivo Excel y se saldr
del procedimiento por intermedio de la palabra clave exit. En caso contrario se
crea un objeto (CreateObject) que inicializa una aplicacin Excel y es asignado
al objeto archivo_excel, al objeto libro_excel se le asigna la ruta y el nombre
del archivo de Excel que se va a abrir utilizando el mtodo Open de
WorkBooks, como tambin se asigna la hoja activa (ActiveSheet) del archivo
de Excel a hoja_excel. Se inicializa la variable icolumnas en cero y ejecutan
dos ciclos for. En el ciclo externo se recorre la cantidad de columnas existente
en el objeto DataGridView (tabla.Columns.Count - 1). Si el nombre de la
columna es visible se incrementa la variable icolumna en uno (1) y se asigna a
la primera celda en la posicin del valor de la variable icolumna el nombre de la
columna del objeto DataGridView utilizando el mtodo HeaderText, en el
ciclo ms interno se recorre cada una de las filas del objeto DataGridView y se
coloca en la celda (j, i) el valor que tiene el objeto tabla en la posicin (i, j). Por
otro lado, se hace visible (se abre) el archivo de Excel. Por ltimo se liberan
todos los objetos utilizando la palabra clave Nothing (liberar).

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo, se visualizar la figura 1.25. Al


escribir el rango A1:D10 y pulsar el botn Importar de Excel, se visualizar la
siguiente figura:
Figura 1.26 Formulario con datos importados de Excel.

Si se pulsa el boton Exportar a Excel, se exportarn todos los datos del objeto
tabla y se abrir el archivo de Excel exportardatos.xls en c:\. Dicho archivo debe
existir para que no ocurra ningn error.

37

Figura 1.27 Hoja de Excel con datos exportados desde VB.NET.

1.7 Exportar datos a Word


Con Visual Basic .NET tambin es posible exportar los datos que existen en un control
de Visual Basic .NET a un archivo de Word. Para esto es necesario agregar una
referencia .NET llamada Microsoft.Office.Interop.Word en el proyecto que se est
trabajando.
1.7.1 Ejemplo de exportar datos de VB.NET a Word
Crear un proyecto llamado ExportarWord y realizar un programa que permita a un
usuario exportar los datos de un control DataGridView de Visual Basic .NET a una
tabla en un archivo de Microsoft Word.

Agregar referencia

Desde el submen proyecto seleccione la opcin Agregar referencia y busque el


nombre del componente Microsoft.Office.Interop.Word, se debera visualizar la
siguiente pantalla:
Figura 1.28 Agregar referencia .NET.

38

Al estar seleccionado dicho componente, pulse el botn Aceptar para


incorporarlo al proyecto.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Button y 1
DataGridView.
Figura 1.29 Interfaz de usuario (ExportarWord).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 1.8 Propiedades de controles proyecto ExportarWord.
Control
DataGridView1
Button1
Form1

Propiedad
Name
Name
Text
Name
Text

Valor
tabla
botonexportar
Exportar a Word
formulario
Exportar datos a Word.

La interfaz de usuario queda como se muestra en la siguiente figura:

39

Figura 1.30 Interfaz de usuario modificada (ExportarWord).

Escribir cdigo
a) Seleccione el objeto botonexportar, d doble clic para abrir el editor de cdigo
y escriba el siguiente cdigo:
Dim archivo_Word As Microsoft.Office.Interop.Word.Application
Dim Documento As Microsoft.Office.Interop.Word.Document
Dim Parrafo As Microsoft.Office.Interop.Word.Table
Dim filas As Integer
Dim columnas As Integer
Dim dato As Object
archivo_Word = New Microsoft.Office.Interop.Word.Application
archivo_Word.Visible = True
Documento = archivo_Word.Documents.Add
Parrafo = Documento.Tables.Add(Documento.Range(0, 0), tabla.RowCount + 1,
tabla.Columns.Count)
For columnas = 0 To tabla.Columns.Count - 1
arrafo.Cell(1, columnas + 1).Range.InsertAfter(tabla.Columns(columnas).HeaderText)
For filas = 0 To tabla.RowCount - 1
dato = tabla.Item(columnas, filas).Value
Parrafo.Cell(filas + 2, columnas + 1).Range.InsertAfter(dato)
Next
Next
archivo_Word = Nothing
Documento = Nothing
Parrafo = Nothing

Se definen los objetos archivo_Word de tipo Aplicacin de Word


(Word.application), Documento
de tipo documento de Word
(Word.Document), Parrafo de tipo Tabla de Word (Word.Table), como
tambin se crean las variables filas y columnas de tipo Integer y dato de tipo
Object. Se asigna espacio de memoria al objeto archivo_Word de tipo
Word.Application, se hace visible un archivo de Word y se aade un nuevo
documento de Word con Word.Documents.Add. Al objeto Parrafo se le asigna
una tabla desde un rango (0,0, total_filas, total_columnas). Se ejecutan dos
ciclos For. En el ciclo externo se recorre la cantidad de columnas existentes en
el objeto DataGridView (tabla.Columns.Count - 1) y se asigna a la primera
fila en la posicin del valor de la variable columnas+1 el nombre de la columna
del objeto DataGridView utilizando el mtodo HeaderText; en el ciclo ms
40

interno se recorre cada una de las filas del objeto DataGridView y se van
asignando a la variable dato el valor de cada celda(columnas, filas) del objeto
tabla y se coloca en la celda (j, i) de la tabla de Word el valor que tiene el objeto
dato. Por ltimo se liberan todos los objetos utilizando la palabra clave Nothing
(liberar).
b) D doble clic sobre el formulario para abrir el editor del procedimiento
formulario_load y escriba el siguiente cdigo:
With tabla
.Columns.Add("Cdigo", "Cdigo")
.Columns.Add("Producto", "Producto")
.Columns.Add("Precio", "Precio")
.Columns.Add("Inventario", "Inventario actual")
.Columns.Add("Proveedor", "Nombre Proveedor")
.RowCount = 10
For i As Integer = 0 To .RowCount - 1
.Item(0, i).Value = i.ToString
.Item(1, i).Value = "Producto " & i.ToString
.Item(2, i).Value = FormatNumber(225 + i)
.Item(3, i).Value = CInt(Rnd() * 100)
.Item(4, i).Value = "Proveedor: " & i.ToString
Next
End With

Con el anterior cdigo se llena el objeto tabla con datos. Se le adicionan


cinco nombres, uno en cada columna con el mtodo Add de la propiedad
Columns y se asignan como valor inicial a la propiedad RowCount 10 filas.
Con un ciclo For que se ejecutar desde una posicin i igual a cero (0) hasta el
nmero de filas -1 del objeto tabla y por cada fila se adicionarn cinco tems. En
la primera columna el valor de i, en la segunda un texto Producto unido con
el valor de la variable i, en la tercera el valor 225 sumndole el valor de i, en la
cuarta un nmero aleatorio entre 0 y 100 y por ltimo un texto Proveedor
unido al valor de i.

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo de Visual Basic.NET/2008, se


visualizar el formulario con los datos que se asignaron en el procedimiento
formulario_Load, se visualizar la siguiente figura:
Figura 1.31 Formulario con datos cargados desde el load.

41

Al pulsar el botn Exportar a Word, se abrir un nuevo documento de Word y


se visualizara lo siguiente:
Figura 1.32 Ventana de Word con los datos exportados de VB.NET.

En este momento puede seleccionar todos los datos y pulsar el icono bordes de
Word
y escoger la opcin Todos los bordes para que el documento presente el
siguiente aspecto:
Figura 1.33 Tabla de Word con datos y bordes.

42

1.8 Ejercicios de archivos

1. Realizar un programa que permita guardar 10 datos y leerlos en un archivo de


texto plano utilizando la clase File.
2. Hacer un programa que permita guardar 10 datos y leerlos en un archivo de texto
plano utilizando las clases StreamWriter y StreamReader.
3. Disear un programa que permita guardar 10 datos y leerlos en un archivo de
texto plano utilizando archivos secuenciales.
4. Escribir un programa que permita guardar 10 datos y leerlos en un archivo de
texto plano utilizando archivos binarios.
5. Crear un programa que permita importar todos los datos que existan en un
archivo de Excel y visualizarlos en un ListView.
6. Elaborar un programa que permita importar todos los datos que existan en un
archivo de Excel y visualizarlos en un ListBox.
7. Realizar un programa que permita exportar un rango de datos a una tabla de
Word.
8. Hacer un programa que permita importar los datos de un archivo de texto a un
DataGridView.
9. Crear un programa que permita exportar los datos de un control ListView a
Excel.
10. Escribir un programa que permita exportar los datos de un ListView a Word.

43

2. BASES DE DATOS

Una base de datos es un sistema formado por un conjunto de datos relacionados y


almacenados en discos que permiten el acceso directo a ellos y una serie de programas
que manipulan ese conjunto de datos (SGBD sistema de gestin de bases de datos).
Cada base de datos se compone de una o ms tablas que guardan los datos. Cada tabla
tiene una o ms columnas y filas. Las columnas guardan una parte de la informacin
sobre cada elemento que se quiere guardar en la tabla, cada fila de la tabla conforma un
registro. Un registro contiene campos que pueden ser del mismo tipo de dato o de
diferentes tipos de datos. Entre las principales caractersticas de las bases de datos se
pueden mencionar:

Independencia lgica y fsica de los datos.


Redundancia mnima.
Acceso concurrente por parte de mltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditora.
Respaldo y recuperacin.
Acceso a travs de lenguajes de programacin estndar.

2.1 Tipos de bases de datos


Los tipos de bases datos ms comunes son las relacionales y en el mercado existen
varios sistemas de administracin de bases de datos de ese tipo, algunos son: SQL
Server, Access, Oracle, MySQL, PostgresSQL, etc.
2.1.1 Relacionales
Son las que ms se utilizan. Las bases de datos relacionales son un conjunto de tablas
relacionadas entre s, cada tabla est definida por una serie de campos. Los campos
forman las columnas de las tablas; estos definen el tipo y la variedad de los datos. Las
filas de datos se denominan registros (tuplas), cada tipo definido en un registro se le
denomina atributo. Las tablas pertenecientes a una base de datos pueden relacionarse
entre s utilizando campos clave comunes entre las tablas.
2.1.2 Orientada a objetos
El esquema de una base de datos por objetos est representado por un conjunto de clases
que definen las caractersticas y el comportamiento de los objetos que poblarn la base
de datos. Con una base de datos orientada a objetos, los objetos memorizados en la base
de datos contienen tanto los datos como las operaciones posibles con tales datos. En
cierto sentido, se podr pensar en los objetos como en datos a los que se les ha puesto
una inyeccin de inteligencia que les permite saber cmo comportarse, sin tener que
apoyarse en aplicaciones externas.
2.2 Lenguaje de Consulta Estructurado (S.Q.L.)
Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de
bases de datos para realizar determinadas operaciones sobre los datos o sobre la
44

estructura de los mismos. El lenguaje SQL est compuesto por comandos, clusulas,
operadores y funciones de agregado. Estos elementos se combinan en las instrucciones
para crear, actualizar y manipular las bases de datos.
2.2.1 Comandos
Existen dos tipos de comandos SQL:

DLL que permiten crear y definir nuevas bases de datos, tablas, campos e ndices.
DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de
datos.

Tabla 2.1 Comandos DLL y DML de SQL.


Comandos DLL
Comando

Descripcin

CREATE

Utilizado para crear nuevas bases de datos, tablas, campos e ndices.

DROP

Empleado para eliminar bases de datos, tablas e ndices.

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la


definicin de los campos.
Comandos DML

SELECT

Utilizado para consultar registros de la base de datos que satisfagan un


criterio determinado.

INSERT

Utilizado para cargar lotes de datos en la base de datos en una nica


operacin.

UPDATE

Utilizado para modificar los valores de los campos y registros especficados.

DELETE

Utilizado para eliminar registros de una tabla de una base de datos.

2.2.2 Clusulas
Las clusulas son condiciones de modificacin utilizadas para definir los datos que se
desea seleccionar o manipular.
Tabla 2.2 Clusulas SQL.
Clusula

Descripcin

FROM

Para especficar la tabla de la cual se van a seleccionar los registros.

WHERE

Para especficar las condiciones que deben reunir los registros a


seleccionar.

GROUP BY

Utilizada para separar los registros seleccionados en grupos especficos.

HAVING

Utilizada para expresar la condicin que debe satisfacer cada grupo.

ORDER BY

Para ordenar los registros seleccionados.

45

2.2.3 Operadores lgicos


Los operadores lgicos comprueban la veracidad de alguna condicin. stos devuelven
el tipo de datos Boolean con el valor TRUE o FALSE.
Tabla 2.3 Operadores lgicos SQL.
Operador

Uso

AND

Es el "y" lgico. Evala dos condiciones y devuelve un valor de


verdad slo si ambas son ciertas.

OR

Es el "o" lgico. Evala dos condiciones y devuelve un valor de


verdad si alguna de las dos es cierta.

NOT

Negacin lgica. Devuelve el valor contrario de la expresin.

BETWEEN

Utilizado para especficar un intervalo de valores.

LIKE

Utilizado en la comparacin de un patrn.

IN

Utilizado para especficar registros de una base de datos.

ALL

Devuelve True si el conjunto de comparaciones en verdad.

2.2.4 Operadores de Comparacin

Los operadores de comparacin comprueban si dos expresiones son iguales,


devolviendo un valor booleano True o False. Se pueden utilizar en todas las
expresiones excepto en las de los tipos de datos text, ntext o image.
Tabla 2.4 Operadores de comparacin SQL.
Operador

Uso

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor o igual que

>=

Mayor o igual que

Igual que

2.2.5 Funciones de agregado

Las funciones de agregado realizan un clculo sobre un conjunto de valores y devuelven


un solo valor. Si exceptuamos la funcin COUNT, todas las funciones de agregado
ignoran los valores NULL. Las funciones de agregado se suelen utilizar con la clusula
GROUP BY de la instruccin SELECT.
46

Tabla 2.5 Funciones de agregado SQL.


Funcin

Descripcin

AVG

Utilizada para calcular el promedio de los valores de un campo


determinado.

COUNT

Utilizada para devolver el nmero de registros de la seleccin.

SUM

Utilizada para devolver la suma de todos los valores de un campo


determinado.

MAX

Utilizada para devolver el valor ms alto de un campo especficado.

MIN

Utilizada para devolver el valor ms bajo de un campo


especficado.

2.3 Sentencias Bsicas SQL


Se describir muy brevemente algunas de las sentencias SQL para la manipulacin de
los datos de una tabla. Para trabajar las sentencias a continuacin, se supondr que se
tiene creada una tabla llamada usuarios con la siguiente estructura:
Tabla 2.6 Estructura de los campos de la tabla USUARIOS.
Campo
identificacion
nombres
apellidos
direccin
telfono
ciudad_nac
fecha_nac

Tipo de Dato
varchar
varchar
varchar
varchar
varchar
varchar
date

Longitud
15
20
20
25
20
20

Y que contiene la siguiente informacin:


Tabla 2.7 Informacin de la tabla usuarios.
Identificacin
100
101
112
114
116
118
130
150
170

Nombres
Carlos
Mara
Jos
Cristian
Rosa
Andrs
Anglica
Johana
Mario

Apellidos
Romero
Castro
Pelez
Vanegas
Cetina
Vanegas
Morales
Duarte
Vargas

Direccin
Cra 7 # 20-10
Calle 25 # 25-10
Av. 35 # 32-45
Cra 7 # 29-58
Calle 17 # 21-14
Tranvs 48 # 22-10
Cra 68 # 21-11
Cra 2 # 45-38
Calle 1 # 99-18

Telfono
4152584
3692581
1234567
9874561
3571596
8527419
6549518
9637534
6598743

Ciudad_nac
Bogota
Cali
Medelln
Manizales
Buga
Bogot
Medelln
Bogot
Medelln

Fecha_nac
01/02/1980
15/03/1984
20/05/1960
31/08/1974
15/12/1985
10/04/1978
20/06/1981
12/06/1988
28/08/1980

2.3.1 CREATE DATABASE


El comando CREATE DATABASE permite crear una base de datos. Su formato es:
CREATE DATABASE <nombre_base_de_datos)

47

2.3.2 DROP DATABASE


El comando DROP DATABASE permite eliminar una base de datos que previamente
se haba creado. Su formato es:
DROP DATABASE <nombre_base_de_datos_a_eliminar>

2.3.3 CREATE TABLE


El comando CREATE TABLE permite crear una tabla. Con este comando se
especfica el nombre de la tabla, las columnas y sus tipos de datos, las claves primarias
y si es necesario, la clave externa. Su formato es:
CREATE TABLE nombre_tabla (campo1 tipodato DEFAULT,., campo2 tipodato, DEFAULT)

La clusula DEFAULT indica la caracterstica de cada columna: NOT NULL


(no permite valores nulos), UNIQUE (dos filas no pueden tener un mismo valor en la
misma columna), PRIMARY KEY (define una columna como clave principal).
2.3.4 DROP TABLE
El comando DROP TABLE permite eliminar una tabla que previamente se haba
creado. Su formato es:
DROP TABLE nombre_tabla

2.3.5 INSERT
La sentencia SQL de insercin de datos INSERT permite insertar informacin en una
tabla. Su formato es:
INSERT INTO nombre_tabla (campo1, campo2,.) VALUES (valor1, valor2,.)

Para insertar un nuevo registro a la tabla usuarios se debera realizar la siguiente


sentencia:
INSERT INTO usuarios (identificacin, nombres, apellidos, direccin, telfono, ciudad_nac,
fecha_nac) VALUES ( 160, Carmen, Bolvar, Calle 100 # 115-55,2014201, Barranquilla,
18/11/1692)

2.3.6 ALTER
La sentencia SQL ALTER permite insertar un nuevo campo en una tabla. Su formato
es:
ALTER TABLE nombre_tabla ADD nombre_campo tipo_de_dato ()

Para insertar un nuevo campo a la tabla usuarios llamado credito de tipo


numrico se debera realizar la siguiente sentencia:
ALTER TABLE usuarios ADD credito numeric (18,0)

48

2.3.7 SELECT
La sentencia SQL que ms se utiliza es la instruccin de seleccin SELECT. Como su
nombre lo indica, es una instruccin que permite seleccionar informacin de una tabla.
Su formato es:
SELECT campos_tabla FROM nombre_tabla

A continuacin se realizan algunos ejemplos:


a) Para visualizar toda la informacin que contiene la tabla usuarios se puede
incluir con la instruccin SELECT el carcter * o cada uno de los campos de la
tabla.
SELECT * FROM usuarios
O
SELECT identificacin, nombres,.. FROM usuarios

b) Para visualizar solamente la identificacin del usuario


SELECT identificacion FROM usuarios

c) Si se desea obtener los registros cuya identificacin sea menor o igual a 116, se
debe utilizar la clusula WHERE que especfica las condiciones que deben
reunir los registros que se van a seleccionar.
SELECT * FROM usuarios WHERE identificacin<=116

d) Si se desea obtener los registros cuyos nombres sean Andrs o Cristian, se debe
utilizar el operador IN que especfica los registros que se quieren visualizar de
una tabla.
SELECT nombres FROM usuarios WHERE nombres IN (Andres,Cristian)

O se puede utilizar el operador OR


SELECT * FROM usuarios WHERE nombres=Andrs OR nombres=Cristian

e) Si se desea obtener los registros cuya identificacin sea menor de 130 y la


ciudad sea Bogota, se debe utilizar el operador AND.
SELECT * FROM usuarios WHERE identificacin<=130 AND ciudad=Bogota

f) Si se desea obtener los registros cuyos nombres empiecen por la letra C, se


debe utilizar el operador LIKE que utiliza los patrones % (todos) y _
(carcter).
SELECT * FROM usuarios WHERE nombres LIKE C%

g) Si se desea obtener los registros cuyos nombres contenga la letra i.


SELECT * FROM usuarios WHERE nombres LIKE %i%

h) Si se desea obtener los registros donde la segunda letra del nombre sea una o.
49

SELECT * FROM usuarios WHERE nombres LIKE _o%

i) Si se desea obtener los registros cuya identificacin est entre el intervalo 116 y
140, se debe utilizar la clusula BETWEEN, que sirve para especficar un
intervalo de valores.
SELECT * FROM usuarios WHERE identificacin BETWEEN 116 AND 140

2.3.8 DELETE
La sentencia SQL de eliminacin de datos DELETE permite borrar todos o un grupo
especfico de registros de una tabla. Su formato es:
DELETE FROM nombre_tabla

A continuacin se realizarn algunos ejemplos:


a) Para eliminar todos los registros de la tabla usuarios.
DELETE FROM usuarios

b) Para eliminar solamente los registros cuya identificacin sea mayor de 150.
DELETE FROM usuarios WHERE identificacin >150

c) Para eliminar los registros diferentes del nombre Cristian


DELETE FROM usuarios WHERE nombres NOT IN (Cristian)

2.3.9 UPDATE
La sentencia SQL de actualizacin UPDATE permite actualizar un campo de una tabla.
Su formato es:
UPDATE nombre_tabla SET nombre_campo=criterio

A continuacin se realizan algunos ejemplos:


a) Para actualizar el campo credito con un valor de 100000 en la tabla usuarios.
UPDATE usuarios SET credito=100000

b) Para actualizar el campo credito en 200000 para los registros cuyo nombre
empiecen por A.
UPDATE usuarios SET credito=credito +200000 WHERE nombres LIKE A%

c) Para actualizar el campo credito en 50000 para los registros cuya ciudad sea
igual a Bogota.
UPDATE usuarios SET credito=credito+50000 WHERE ciudad=Bogota

50

2.3.10 INNER JOIN


Permite recuperar datos de 2 o ms tablas. Cuando se realiza la concatenacin de las
tablas, no necesariamente se deben mostrar todos los datos de las tablas, o sea, se
pueden mostrar los campos que en realidad se desea ver. Su formato es:
SELECT tabla1.campo, tabla2.campo, tabla1.campo2,. FROM tablaprincipal
INNER JOIN tablasecundaria ON campocomuntabla1=campocomuntabla2

Para realizar algunos ejemplos explicativos se utilizara la tabla usuarios y


adems se supondr que se tiene otra tabla llamada pedidos, que contendr la siguiente
estructura:
Tabla 2.8 Estructura de los campos de la tabla USUARIOS.
Campo
nropedido
identificacion
fechacompra
fechavence
observacon

Tipo de Dato
varchar
varchar
date
date
varchar

Longitud
15
15
20
25
30

Y que contiene la siguiente informacin:


Tabla 2.9 Informacin de la tabla usuarios.
nropedido
10
20
30
40
50
60
70
80
90

Identificacin
100
101
100
112
101
118
101
100
101

fechacompra
01/02/2006
15/03/2006
20/05/2006
31/08/2006
15/12/2006
10/04/2006
20/06/2006
12/06/2006
28/08/2006

fechavence
01/02/2006
15/03/2006
20/06/2006
31/10/2006
30/12/2006
10/06/2006
20/07/2006
12/09/2006
28/09/2006

observacon
Pago de contado
Descuento del 5%
Descuento del 2%
Pago a sesenta das
Pago de contado
Sin descuento
Descuento del 5%
Pago a noventa das
Pago de contado

a) Para visualizar los campos identificacin, nombres, apellidos de la tabla usuarios


y nropedido, fecha de compra, fecha de vencimiento y observacin de la tabla
pedidos, se debe realizar la siguiente instruccin:
SELECT
usuarios.identificacion,
usuarios.nombres,
pedidos.nropedido,
pedidos.fechacompra,
pedidos.observacon
FROM usuarios INNER JOIN pedidos
ON usuarios.identificacion = pedidos.identificacion

usuarios.apellidos,
pedidos.fechavence,

b) Para visualizar todos campos de las tablas usuarios y pedidos donde


identificacin sea igual a 100, se debe realizar la siguiente instruccin:
SELECT usuarios.*, pedidos.*
FROM usuarios INNER JOIN pedidos
ON usuarios.identificacion = pedidos.identificacion
WHERE usuarios.identificacion=100

51

2.4 Conexin a bases de datos


Visual Basic .NET utiliza la tecnologa ADO.NET que permite el acceso a bases de
datos mediante proveedores para sistemas administradores de bases de datos que
funcionan en el entorno .NET. La plataforma .NET incorpora cuatro proveedores: SQL
SERVER, ORACLE, ODBC (Access), OLEDB.
ADO.NET proporciona acceso a orgenes de datos como Microsoft SQL Server
y XML, as como a orgenes de datos OLE DB y ODBC. Las aplicaciones para usuarios
que comparten datos pueden utilizar ADO.NET para conectar a estos orgenes de datos
y recuperar, manipular y actualizar los datos contenidos.
ADO.NET es un conjunto de clases que se encuentran en el archivo
System.Data.dll y est integrada con las clases del archivo System.Xml.dll. Cuando se
compila un cdigo que utiliza el espacio de nombres System.Data se hace referencia a
dichos archivos. Estas clases sirven para separar el acceso a la base de datos y la
manipulacin de los mismos.
Sus principales clases son:
DataSet: Es el conjunto de datos donde se pueden incluir una o ms tablas con
la informacin acerca de las relaciones entre stas, y las restricciones que
puedan tener los datos.
DataTable: Permite la manipulacin de los datos en la memoria y realiza
operaciones como exploracin, ordenacin, edicin, aplicacin de filtros,
creacin de vistas, etc.
DataView: Permite representar los datos de la clase DataTable, creando
mltiples vistas de los mismos.
Los proveedores de datos proporcionan el puente entre las bases de datos y las
aplicaciones. Los principales objetos de un proveedor de datos .NET son:
Connection: Sirve para establecer una conexin con una base de datos. Se
utiliza SqlConnection para una conexin a SQL Server, OleDbConnection
para una conexin a Access y OracleConnection para Oracle.
Command: Sirve para ejecutar sentencias SQL y devolver resultados de una
base de datos. Se utiliza SqlCommand para una conexin a SQL Server,
OleDbCommand para una conexin a Access y OracleCommand para Oracle.
DataAdapter: Es el adaptador de datos, el cual es un conjunto de objetos para
intercambiar datos entre una base de datos y un conjunto de datos. Se utiliza
SqlDataAdapter para una conexin a SQL Server, OleDataAdapter para una
conexin a Access y OracleDataAdapter para Oracle.
2.5 Ejemplos de conexin a bases de datos
2.5.1 Conexin a una base de datos de SQL Server
Dentro de un proyecto llamado ConexionBDSQLSERVER, realizar un programa que
permita a un usuario hacer una conexin a una base de datos de SQL Server y mostrar
52

los datos de una tabla en un objeto DataGridView, utilizando cdigo de Visual Basic
.NET.
NOTA: para este ejemplo el usuario debe tener instalado Microsoft SQL SERVER
2005 o posterior y crear una base de datos llamada bdlibrovbnet (Ver anexo C, SQL
Server) y dentro de ella una tabla llamada clientes, con la siguiente estructura:
Figura 2.1 Estructura tabla clientes en SQL Server.

Dicha tabla debe contener unos registros para poder consultarlos. La siguiente
figura muestra el aspecto de la tabla con los datos:
Figura 2.2 Tabla clientes con datos SQL Server.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Button, 1 Label y 1
DataGridView.

53

Figura 2.3 Interfaz de usuario (ConexionBDSQLSERVER).

Establecer las propiedades de los objetos de la interfaz de usuario


Establezca las siguientes modificaciones a los controles:

Tabla 2.10 Propiedades de controles proyecto ConexionBDSQLSERVER.


Nombre del proyecto: ConexionBDSQLSERVER
Control
Propiedad
Valor
DataGridView1
Name
tabla
Button1
Name
boton
Text
Mostrar datos tabla
Label1
Name
titulo
Text
Conexin a una base de datos de SQL
SERVER.
Font
True
Form1
Name
formulario
Text
Conexin BD SQL SERVER - Clientes.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 2.4 Interfaz de usuario modificada (ConexionBDSQLSERVER).

54

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el espacio de
nombres System.Data.SqlClient:
Imports System.Data.SqlClient
Public Class Formulario
.

End Class

El espacio de nombres System.Data.SqlClient es necesario para utilizar las


diferentes clases que permitan las operaciones con bases de datos, en este caso SQL
Server.
b) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo y escriba
el siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;Integrated
Security=True"
Dim seleccion As String = "SELECT * FROM clientes"
Dim adaptadordedatos As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptadordedatos = New SqlDataAdapter(seleccion, conexion)
adaptadordedatos.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Se crea una variable llamada conexion de tipo String que contendr la cadena
de conexin a la base de datos de SQL Server. La cadena de conexin debe contener
como mnimo los siguientes parmetros:

Data Source: Se le asigna la ruta donde se encuentra el servidor SQL


Server, en este caso, SQL Server se instalo en el computador de
trabajo por lo cual el nombre del servidor es localhost o como
direccin IP 127.0.0.1.
Database: Se le asigna el nombre de la base de datos a la que se
quiere conectar.
Integrated Security: Se le asigna true o false para determinar si la
seguridad es integrada o no.

Luego se crean los siguientes objetos: seleccion de tipo String a la cual se le


asigna todos los datos que se quiere mostrar, en este caso todos los registros de la
tabla clientes (Select * from Clientes); adaptadordedatos de tipo
SqlDataAdapter, el cual ser el adaptador de datos para la base de datos a
manipular; tabladedatos se le asigna espacio de memoria de tipo DataTable para
guardar los datos en memoria y poder realizar operaciones con dichos datos. En un
bloque Try se le asigna espacio de memoria de tipo SqlDataAdapter al objeto
55

adaptadordedatos, al cual se le enva como parmetros los objetos seleccion (datos


a mostrar) y conexion (cadena de conexin), luego se rellena (fill) el adaptador de
datos con la tabla de datos (tabladedatos) y por ltimo al objeto tabla en su
propiedad DataSource se le establece el conjunto de datos que se van a mostrar al
asignrsele la tabla de datos. Por el bloque Catch se establece un mensaje en caso
de que ocurra un error.

Ejecutar el proyecto

Al ejecutarse el proyecto y pulsar el botn Mostrar datos tabla, se visualizar el


formulario con los datos de la tabla clientes de SQL Server:
Figura 2.5 Formulario con datos de la tabla clientes de SQL Server.

2.5.2 Conexin a una base de datos de ACCESS


Crear un proyecto llamado ConexionBDACCESS y disear un programa que permita a
un usuario realizar una conexin a una base de datos de ACCESS y mostrar los datos de
una tabla en un objeto DataGridView, utilizando cdigo de Visual Basic .NET.
NOTA: para este ejemplo el usuario debe tener instalado Microsoft Access y crear una
base de datos llamada bdaccesslibrovbnet y dentro de ella una tabla llamada clientes
(bsque en Internet cmo crear una base de datos y una tabla en Microsoft Access), con
la siguiente estructura:
Figura 2.6 Estructura tabla clientes en Access.

56

Dicha tabla debe contener unos registros para poder consultarlos. La siguiente
figura muestra el aspecto de la tabla con los datos:
Figura 2.7 Tabla clientes con datos en Access.

Crear la interfaz de usuario.

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Button, 1 Label y 1
DataGridView.
Figura 2.8 Interfaz de usuario (ConexionBDACCESS).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 2.11 Propiedades de controles proyecto ConexionBDACCESS.
Control
DataGridView1
Button1
Label1

Form1

Propiedad
Name
Name
Text
Name
Text
Font
Name
Text

Valor
tabla
boton
mostrar datos tabla
titulo
Conexin a una base de datos de
ACCESS.
True
formulario
Conexin a ACCESS tabla Clientes.

57

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 2.9 Interfaz de usuario modificada (ConexionBDACCESS).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el espacio de
nombres system.data.OleDb:
Imports System.Data.OleDb
Public Class Form1
.

End Class

El espacio de nombres System.Data.OleDb es necesario para utilizar las


diferentes clases que permitan las operaciones con la base de datos Access.
b) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo y escriba
el siguiente cdigo:
Dim conexion As String
conexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
"f:\bdaccess\bdaccesslibrovbnet.mdb" & ";"
Dim seleccion As String = "SELECT * FROM clientes"
Dim adaptadordedatos As OleDbDataAdapter
Dim tabladedatos As New DataTable
Try
adaptadordedatos = New OleDbDataAdapter(seleccion, conexion)
adaptadordedatos.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

58

Con relacin al cdigo que se realiz para conectarse a la base de datos SQL
Server, se efectuarn dos cambios, a saber:
1) Cadena de conexin: Dicha conexin debe contener como mnimo los
siguientes parmetros:
Provider: Es el proveedor del sistema administrador de bases de
datos, en este caso es Microsoft.Jet.OLEDB.4.0, el cual es el
proveedor de la base de datos Access.
Data Source: Se especfica la ruta y el nombre de la base de datos a
utilizar.
2) Adaptador de datos: se cambia el adaptador de datos SqlDataAdapter por
OleDBDataAdapter.

Ejecutar el proyecto

Al ejecutarse el proyecto y pulsar el botn mostrar datos tabla, se visualizar el


formulario con los datos de la tabla clientes de Access:
Figura 2.10 Formulario con datos de la tabla clientes de Access.

2.5.3 Conexin a una base de datos de ORACLE con cdigo


Realizar un proyecto llamado ConexionBDORACLE, y desde all permitir a un
usuario realizar una conexin a una base de datos de Oracle 10g Express Edition y
mostrar los datos de una tabla en un objeto DataGridView.
NOTA: para este ejemplo el usuario debe tener instalada la base de datos Oracle 10g
Express Edition (Ver anexo D, Oracle Database 10g Express), e ingresar con el

59

usuario y clave creados cuando se realiza la instalacin del Oracle y crear una tabla
llamada clientes, con la siguiente estructura:
Figura 2.11 Estructura tabla clientes en Oracle.

Dicha tabla debe contener unos registros para poder consultarlos. La siguiente
figura muestra el aspecto de la tabla con los datos en Oracle:
Figura 2.12 Tabla clientes con datos en Oracle.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Button, 1 Label y 1
DataGridView.

60

Figura 2.13 Interfaz de usuario (ConexionBDORACLE).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 2.12 Propiedades de controles proyecto ConexionBDORACLE.
Control
DataGridView1
Button1
Label1

Form1

Propiedad
Name
Name
Text
Name
Text
Font
Name
Text

Valor
tabla
boton
Mostrar datos tabla
titulo
Conexin a una Base de Datos de
ORACLE.
True
formulario
Conexin a ORACLE tabla Clientes.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 2.14 Interfaz de usuario modificada (ConexionBDORACLE).

61

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el espacio de
nombres System.Data.OleDb:
Imports System.Data.OleDb
Public Class Form1
.

End Class

El espacio de nombres System.Data.OleDb es necesario para utilizar las diferentes


clases que permitan las operaciones con una base de datos Oracle.
b) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo y escriba
el siguiente cdigo:
Dim conexion As String
conexion = "Provider=MSDAORA.1;User ID=system;password=123456;" &
"Data Source=localhost;Persist Security Info=False"
Dim seleccion As String = "SELECT * FROM clientes"
Dim adaptadordedatos As OleDbDataAdapter
Dim tabladedatos As New DataTable
Try
adaptadordedatos = New OleDbDataAdapter(seleccion, conexion)
adaptadordedatos.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Con relacin al cdigo que se realizo para conectarse a la base de datos


ACCESS, se hizo solamente el cambio de la cadena de conexin. Dicha conexin
debe contener como mnimo los siguientes parmetros:

Provider: Es el proveedor del sistema administrador de bases de


datos, en este caso es MSDORA.1, el cual es el proveedor de la base
de datos ORACLE.
User: es la identificacin del usuario y su respectiva clave.
Data Source: Se le especfica la direccin del servidor donde se
encuentra la base de datos a utilizar.
Persist Security Info: Se le asigna true o false para determinar si la
seguridad es persistente o no.

Ejecutar el proyecto

Al ejecutarse el proyecto y pulsar el botn Mostrar datos tabla, se visualizar el


formulario con los datos de la tabla clientes de Oracle:

62

Figura 2.15 Formulario con datos de la tabla clientes de Oracle.

2.6 Conexin a una bases de datos con el explorador de servidores


Tambin es posible establecer una conexin y realizar operaciones con una base de
datos utilizando la herramienta Explorador de servidores (explorador de bases de
datos Visual Basic .NET /2005) del men Ver, el cual tiene asociados las opciones:
Actualizar, Detener Actualizacin, Conectar con Base de Datos y Conectar con el
Servidor. Esta herramienta mantiene las conexiones definidas y/o permite definir
nuevas. Cada conexin define un nodo con la estructura de la base de datos.
2.6.1 Conexin a SQL Server con el Explorador de servidores
Dentro de un proyecto llamado ConexionConExploradorServidores, realizar un
programa que permita a un usuario hacer una conexin a una base de datos de SQL
Server y mostrar los datos de una tabla en un objeto DataGridView utilizando el
Explorador de servidores de Visual Basic. NET.
NOTA: para este ejemplo se utilizar la base de datos llamada bdlibrovbnet de SQL
Server (Ver anexo C, conectarse a SQL Server) y la tabla llamada clientes de dicha
base de datos.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label y 1
DataGridView.

63

Figura 2.16 Interfaz de usuario (ConexionConExploradordeServidores).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 2.13 Propiedades de los controles de ConexionConExploradordeServidores
Control
DataGridView1
Label1

Form1

Propiedad
Name
Name
Text
Font
Name
Text

Valor
tabla
texto
Conexin a SQL Server con el
Explorador de servidores.
True
formulario
Conexin con Explorador de servidores.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 2.17 Interfaz de usuario con controles modificados.

64

Explorador de servidores..

Del men Ver seleccione la opcin Explorador de servidores, para visualizar la


siguiente figura:
Figura 2.18 Ventana Explorador de servidores.

Al pulsar el icono conectar con bases de datos


Agregar conexin como muestra la figura:
Figura 2.19 Ventana Agregar conexin.

65

, se visualizar la ventana de

En esta ventana se puede realizar bsicamente lo siguiente:

Elegir proveedor base de datos: se puede cambiar el proveedor de la base de


datos. Por omisin se carga el sistema administrador de base de datos SQL Server.
Elegir base de datos: permite elegir la base de datos a utilizar.
Probar la conexin: permite saber si una conexin ha sido exitosa o no.
Modificar la cadena de conexin: con la opcin Avanzadas se puede modificar la
conexin.

Para el ejemplo, seleccione la base de datos bdlibrovbnet.mdf, la cual se encuentra


en la carpeta data de SQL Server (si la instalacin la realiz en c:\ la ruta sera:
C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data. Si desea
puede probar la conexin y si fue exitosa se mostrar el mensaje La conexin de
prueba se realiz correctamente.
Figura 2.20 Ventana con la base de datos seleccionada y la prueba de conexin.

Pulse los botones Aceptar hasta visualizar la siguiente figura:


Figura 2.21 Explorador de servidor con la conexin a la base de datos.

66

Al pulsar en el signo (+) al lado del nombre de la base de datos se visualizar la


estructura definida en la base de datos. Si desea ver las tablas que contiene la base de
datos pulse el signo (+) al lado de Tablas.
Figura 2.22 Estructura de la base de datos bdlibrovbnet.mdf.

Ahora seleccione el objeto DataGridView llamado tabla y en la flecha que


aparece en el lado superior derecho, d clic en el mouse para visualizar las Tareas de
DataGridView:
Figura 2.23 Ventana de las Tareas del DataGridView.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:


Figura 2.24 Ventana Elegir origen de datos.

67

Ahora seleccione la opcin Agregar origen de datos del proyecto, se


visualizar la siguiente ventana:
Figura 2.24 Asistente para la configuracin de orgenes de datos.

Seleccione el objeto Base de datos y pulse el botn Siguiente>, para visualizar


la ventana de eleccin de la conexin de datos. Pulse la ventana y seleccione la base de
datos bdlibrovbnet.mdf:
Figura 2.25 Ventana Elegir la conexin de datos.

Al seleccionar la base de datos que se va a trabajar y pulsando el botn


Siguiente> se visualiza el siguiente mensaje:
Figura 2.26 Ventana Microsoft Visual Studio.

68

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto y se visualizar la ventana de guardar cadena de conexin:
Figura 2.27 Ventana Guardar cadena de conexin.

Cambie el nombre de la conexin que all aparece por conexionsqlserver y


pulse el botn Siguiente>, se visualizar la siguiente figura:
Figura 2.28 Ventana de eleccin de objetos de la base de datos.

Pulse el signo (+) al lado de Tablas para desplegar las tablas de la base de datos
y seleccione la tabla clientes. Por otro lado, cambie el nombre del DataSet que all
aparece por conjuntodedatos y pulse el botn Finalizar para visualizar la figura:

69

Figura 2.29 DataGridView con los campos de la tabla clientes.

Como se puede apreciar, se crearon tres nuevos objetos: el objeto conjuntodedatos


que contendr los datos seleccionados, el objeto ClientesBindingSource que en su
propiedad DataSource se le asignar el objeto conjuntodedatos y en la propiedad
DataMember el nombre de tabla seleccionada. Por otro lado, se cre el objeto
ClientesTableAdapter, el cual ser el adaptador de datos para la conexin realizada.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar en el formulario los datos de la tabla clientes en


el objeto DataGridView de la base de datos bdlibrovbnet.mdf de SQL Server:
Figura 2.30 DataGridView con los datos de la tabla clientes de SQL Server.

70

2.7 Ejercicios de conexin a bases de datos


1. Disear un programa que permita realizar una conexin a una base de datos y
mostrar datos de una tabla en un control ComboBox.
2. Crear un programa que permita realizar una conexin a una base de datos y
mostrar datos de una tabla en un control ListView.
3. Realizar un programa que permita realizar una conexin a una base de datos y
mostrar datos de una tabla en un control ListBox.
4. Elaborar un programa que permita realizar una conexin a una base de datos y
mostrar los datos de una tabla en un campo de texto.
5. Realizar un programa que permita realizar una conexin a una base de datos y
mostrar los campos de una tabla en un Label.
6. Hacer un programa que permita realizar una conexin a una base de datos
MySQL y mostrar datos de una tabla en una cuadrcula.
7. Disear un programa que permita realizar una conexin a una base de datos en
Oracle utilizando la herramienta explorador de servidores y mostrar los datos de
una tabla en campos de texto.
8. Crear un programa que permita realizar una conexin a una base de datos en
Access utilizando la herramienta explorador de servidores y mostrar los datos de
una tabla en Label.
9. Elaborar un programa que permita realizar una conexin a una base de datos en
MySQL y mostrar los datos de una tabla en un ListBox.
10. Realizar un programa que permita hacer una conexin a una base de datos en
MySQL y mostrar los datos de una tabla en un control ListView.

71

3. DESPLAZAMIENTO POR LOS REGISTROS DE UNA TABLA


Hasta el momento con los ejemplos se ha realizado una conexin a una base de datos ya
sea utilizando cdigo o por medio de la herramienta Explorador de servidores y
recurriendo al control DataGridView, visualizndose los registros de una tabla
especfica. Ahora lo que se pretende es que el usuario, aparte de visualizar la
informacin que contenga una tabla, tambin pueda desplazar o moverse por cada uno
de los registros que contenga dicha tabla. Est operacin la podr realizar en un
formulario utilizando campos de texto (TextBox) o una cuadrcula (DataGridView) y
poder desplazarse por cada uno de los registros por medio de botones (Button) o de un
control BindingNavigator. Para esto es necesario implementar las opciones de
movimiento de registros: ir al primer registro, al siguiente registro, al anterior registro y
al ltimo registro.

3.1 Ejemplos de desplazamiento por los registros de una tabla

3.1.1 Formulario con campos de texto y botones


Dentro de un proyecto llamado MovregCampotexto, realizar un programa que
permita visualizar cada registro de la tabla clientes de la base de datos
bdlibrovbnet.mdf de SQL Server en campos de texto. El usuario deber poder
desplazarse por cada registro de la tabla utilizando los botones: Primero, Siguiente,
Anterior y ltimo.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 4 Button, 7 Label y 6
TextBox.
Figura 3.1 Interfaz de usuario (MovRegCampoTexto).

72

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 3.1 Propiedades de controles proyecto MovRegCampoTexto.
Nombre del proyecto: MovRegCampoTexto
Control
Propiedad
Valor
Label1
Name
texto
Text
Desplazamiento registros tabla
clientes.
Font
true
Label2
Name
tnit
Text
Nit:
Label3
Name
tempresa
Text
Empresa:
Label4
Name
trepresentante
Text
Representante:
Label5
Name
tdireccion
Text
Direccin:
Label6
Name
ttelefono
Text
Telfono:
Label7
Name
tciudad
Text
ciudad
Textobox1Textbox6
Name
campo1.campo6
Text
blanco
Button1
Name
botonprimero
Text
Primero
Button2
Name
botonsiguiente
Text
Siguiente
Button3
Name
botonanterior
Text
Anterior
Button4
Name
botonltimo
Text
ltimo
Form1
Name
formulario
Text
Desplazamiento de Registros de
una tabla.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 3.2 Interfaz de usuario modificada (MovRegCampoTexto).

73

Establecer la conexin

Desde la ficha Datos del cuadro de herramienta arrastre hacia el formulario el adaptador
de datos SQLDataAdapter (Si no aparece el control, d clic derecho sobre la ficha
Datos y ejecute la orden Elegir elementos, busque el control, seleccinelo en el cuadro
de verificacin y pulse el botn Aceptar). Se visualizar la siguiente figura:
Figura 3.3 Ventana Elegir la conexin de datos

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.
Figura 3.4 Ventana Agregar conexin.

Pulse el botn Aceptar, para visualizar nuevamente la ventana de Elegir la


conexin de datos. All pulse Siguiente> para visualizar el siguiente mensaje:
74

Figura 3.5 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto. El Explorador de soluciones visualizara la base de datos como muestra la
figura:
Figura 3.6 Ventana Explorador de soluciones.

Y tambin se visualizar la ventana de eleccin de tipo de comando:


Figura 3.7 Ventana eleccin tipo de comando.

Por omisin est seleccionada la opcin Usar Instrucciones SQL. Pulse


Siguiente> para visualizar la ventana de generacin de instrucciones SQL.
75

Figura 3.8 Ventana Generar las instrucciones SQL.

Aqu se puede realizar la seleccin de los datos que debera cargar el adaptador
de datos. Una forma es escribir en la ventana instrucciones SQL y la otra es pulsar el
botn Generador de consultas. Para el ejemplo se pulsar el botn para visualizar la
siguiente figura:
Figura 3.9 Ventana Generador de consultas.

Seleccione la tabla clientes, pulse el botn Agregar y luego el botn Cerrar, se


visualizar la siguiente figura:

76

Figura 3.10 Generador de consultas con la tabla clientes.

En esta nueva ventana seleccione la opcin * (todas las columnas) o los campos
que desea visualizar (Si desea visualizar la consulta seleccionada pulse el botn
Ejecutar consulta). Se obtendr la siguiente figura:
Figura 3.11 Generador de consultas con los campos seleccionados (tabla clientes).

Pulse el botn Aceptar, y se visualizar la siguiente figura:


77

Figura 3.12 Generador de consultas con la instruccin SQL.

Al pulsar el botn Finalizar, se crearn los objetos: SqlDataAdapter1 y


SqlConnection1. Cambie el nombre de dichos objetos por adaptadordedatos y
conexion respectivamente, para ver la siguiente figura:
Figura 3.13 Formulario con los objetos adaptadordedatos y conexin.

Ahora ejecute la opcin Generar Conjunto de Datos del men Datos y se


mostrar el siguiente cuadro de dilogo:

78

Figura 3.14 Ventana Generar conjunto de datos.

Seleccione la opcin Nuevo y cambie el nombre DataSet1 por conjuntodedatos


y pulse el botn Aceptar para agregar el conjunto de datos a la aplicacin, como
muestra la figura:
Figura 3.15 Formulario con el objeto conjuntodedatos.

Ahora se deben vincular los campos de texto con los campos de la tabla clientes.
Seleccione el objeto campo1, busque la propiedad DataBindings, expanda el nodo (+),
seleccione la propiedad Text y expanda los nodos formulario instancias de lista,
conjuntodedatos, clientes y seleccione el campo nit, como se aprecia en la figura:

79

Figura 3.16 Vinculacin del campo nit al objeto campo1.

Realice el paso anterior para cada objeto TextBox (campo2campo6)


asignndole un campo respectivamente de la tabla clientes. Al finalizar d doble clic
sobre el formulario para visualizar el procedimiento formulario_load y all digite el
siguiente cdigo:
conjuntodedatos.Clear()
adaptadordedatos.Fill(conjuntodedatos)

En el anterior cdigo primero se limpia el conjunto de datos actual utilizando el


metodo clear y luego se llama al mtodo fill (rellenar) del adaptador de datos,
pasandole como argumento el conjunto de datos que se desea visualizar. Al ejecutar la
aplicacin se muestra algo similar a la figura 3.17:
Figura 3.17 Visualizacin del primer registro de la tabla clientes.

Como se puede apreciar, solamente se visualiza el primer registro de la tabla


clientes. Para poder ver cada uno de los registros de la tabla se debe realizar el cdigo
para los botones: Primero, Siguiente, Anterior, ltimo.

Escribir cdigo para los botones


a) Seleccione el objeto botonprimero, d doble clic para abrir el editor de cdigo y
80

escriba el siguiente cdigo:


BindingContext(conjuntodedatos, "clientes").Position = 0

Se utiliza el objeto BindingContext de la clase Form que recibe el


conjunto de datos y el nombre de la tabla. Con la propiedad Position se realiza
el desplazamiento de los registros de la tabla, en este caso, la posicion es igual a
cero (0) lo que indica que el cursor de la tabla estara en el primer registro.
b) Seleccione el objeto botonsiguiente, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
BindingContext(conjuntodedatos, "clientes").Position += 1

La propiedad Position se incrementa en uno para desplazarse al siguiente


registro.
c) Seleccione el objeto botonanterior, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
BindingContext(conjuntodedatos, "clientes").Position -= 1

La propiedad Position se decrementa en uno para desplazarse al anterior


registro.
d) Seleccione el objeto botonltimo, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
BindingContext(conjuntodedatos, "clientes").Position = _
BindingContext(conjuntodedatos, "clientes").Count - 1

La propiedad Position se hace igual al nmero de registros 1. Se utiliza


el mtodo count para contar los registros de la tabla clientes.
Al volver a ejecutar la aplicacin, y cuando el usuario pulse cada uno de los
botones se podr desplazar por cada uno de los registros de la tabla clientes.
Figura 3.18 Desplazamiento por los registros de la tabla clientes.

81

3.1.2 Formulario con una cuadrcula y botones


Disear de un proyecto llamado MovregDataGridView, y realizar un programa que
permita visualizar cada registro de la tabla clientes de la base de datos
bdlibrovbnet.mdf de SQL Server en una cuadrcula. El usuario deber poder
desplazarse por cada registro de la tabla utilizando los botones: Primero, Siguiente,
Anterior y ltimo.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 4 Button, 1
DataGridView.
Figura 3.19 Interfaz de usuario (MovRegDataGridView).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 3.2 Propiedades de controles proyecto MovRegDataGridView.
Nombre del proyecto: MovRegDataGridView
Control
Propiedad
Valor
DataGridView1
Name
tabla
Button1
Name
botonprimero
Text
Primero
Button2
Name
botonsiguiente
Text
Siguiente
Button3
Name
botonanterior
Text
Anterior
Button4
Name
botonltimo
Text
ltimo
Form1
Name
formulario
Text
Desplazamiento de Registros en un
DataGridView.

La interfaz de usuario queda como se muestra en la siguiente figura:


82

Figura 3.20 Interfaz de usuario modificada (MovRegDataGridView).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class Form1
.

End Class

El espacio de nombres System.Data.SqlClient es necesario para utilizar


las diferentes clases que permitan las operaciones con la base de datos SQL
Server.
b) Despus de la apertura de la clase formulario y antes de los procedimientos sub,
inicialice las siguientes variables u objetos globales:
Private transaccion As New BindingSource
Private adaptador As SqlDataAdapter
Dim conexion As String = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"

Se inicializan los siguientes objetos: transaccin de tipo BindingSource


para encapsular y manipular el origen de los datos; adaptador de tipo
SqlDataAdapter para intercambiar datos con una base de datos SQL Server;
conexin de tipo String al que se le asignar la cadena de conexin para SQL
Server.
c) D doble clic sobre el formulario para abrir el editor de cdigo del
procedimiento formulario_ Load y escriba el siguiente cdigo:
83

tabla.dataSource = transaccion
Dim seleccion As String = "Select * From clientes"
Try
adaptador = New SqlDataAdapter(seleccion, conexion)
Dim comando As New SqlCommandBuilder(adaptador)
Dim tabladedatos As New DataTable()
adaptador.Fill(tabladedatos)
transaccion.DataSource = tabladedatos
With tabla
.Refresh()
.FirstDisplayedScrollingRowIndex = transaccion.Position
End With
Catch ex As SqlException
MsgBox(ex.Message.ToString)
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try

A la propiedad DataSource del objeto tabla se le establece el origen de


datos (transaccion) y se crea una variable llamada seleccion de tipo String a la
cual se le asigna la instruccin de SQL Select. En un bloque try se le asigna
espacio de memoria de tipo SqlDataAdapter al objeto adaptador recibiendo
los datos seleccionados (seleccion) y la cadena de conexin a SQL Server
(conexion), como tambin se concede espacio de memoria al objeto
tabladedatos de tipo DataTable. Luego se rellena (fill) el adaptador de datos
(adaptador) con la tabla de datos (tabladedatos) y se asigna al objeto
transaccin la tabla de datos utilizando la propiedad DataSource. Por otro lado
se refresca (Refresh ()) la cuadrcula para cargar los datos y se obtiene la
posicin
del
primer
registro
de
la
cuadrcula
(FirstDisplayedScrollingRowIndex = transaccion.Position). Utilizando dos
bloques catch se atrapan las excepciones SQLException (por si existe algn
error en la ejecucin de las sentencias SQL) y Exception (por si existe algn
problema con el sistema).
d) d) Seleccione el objeto botonprimero, de doble clic para abrir el editor de cdigo
y escriba el siguiente cdigo:
transaccion.MoveFirst()

Se utiliza el mtodo MoveFirst() del objeto transaccion para moverse al


primer registro de la tabla.
e) Seleccione el objeto botonsiguiente, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
transaccion.MoveNext()

Se utiliza el mtodo MoveNext() del objeto transaccion para moverse al


siguiente registro de la tabla.
f) Seleccione el objeto botonanterior, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
transaccion.MovePrevious()

84

Se utiliza el mtodo MovePrevious() del objeto transaccion para


moverse al anterior registro de la tabla.
g) Seleccione el objeto botonltimo, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
transaccion.MoveLast()

Se utiliza el mtodo MoveLast del objeto transaccion para moverse al


ltimo registro de la tabla.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar el formulario con los datos en el objeto


DataGridView de la tabla clientes de SQL Server y los botones de desplazamiento. El
usuario podr pulsar cualquier botn y se desplazara por cada registro de la tabla en la
cuadrcula.
Figura 3.21 Formulario con un DataGridView y botones de desplazamiento.

3.1.3 Formulario con una cuadrcula y un control BindingNavigator


Disear de un proyecto llamado MovregBindingNavigator y realizar un programa que
permita visualizar cada registro de la tabla clientes de la base de datos
bdlibrovbnet.mdf de SQL Server en una cuadrcula. El usuario deber poder
desplazarse por cada registro de la tabla utilizando un control BindingNavigator.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 BindingNavigator, 1
DataGridView.

85

Figura 3.22 Interfaz de usuario (MovRegBindingNavigator).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 3.3 Propiedades de controles proyecto MovRegDataGridView.
Control
DataGridView1
BindingNavigator1
Form1

Propiedad
Name
Name
Name
Text

Valor
tabla
navegador
formulario
Desplazamiento de Registros en un
BindingNavigator.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 3.23 Interfaz de usuario modificada (MovRegDataGridView).

86

Ahora seleccione el objeto DataGridView llamado tabla y en la flecha que


aparece en el lado superior derecho, d clic en el mouse para visualizar las Tareas de
DataGridView:
Figura 3.24 Ventana de las Tareas de DataGridView.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:

Figura 3.25 Ventana Elegir origen de datos.

Al seleccionar Agregar origen de datos del proyecto, se visualizar la


siguiente ventana:

87

Figura 3.26 Asistente para la configuracin de orgenes de datos.

Seleccione el objeto Base de datos y pulse el botn Siguiente>, para visualizar


la ventana de eleccin de la base de datos:
Figura 3.27 Ventana Elegir la conexin de datos.

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.

88

Figura 3.28 Ventana Agregar conexin.

Al pulsar el botn Aceptar se visualizar nuevamente la ventana de eleccin de


conexin de datos con la base de datos bdlibrovbnett.mdf, como se aprecia en la
siguiente figura:
Figura 3.29 Ventana con la base de datos seleccionada.

Pulse Siguiente> para visualizar el siguiente mensaje:

89

Figura 3.30 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto y visualizar la ventana de guardar cadena de conexin:
Figura 3.31 Ventana Guardar cadena de conexin.

Cambie el nombre de la conexin que all aparece por conexion y pulse el botn
Siguiente>, se visualizar la siguiente figura:
Figura 3.32 Ventana de eleccin de objetos de la base de datos.

90

Pulse el signo (+) al lado de Tablas para desplegar las tablas de la base de datos
y seleccione la tabla clientes. Por otro lado, cambie el nombre del DataSet que all
aparece por conjuntodedatos y pulse el botn Finalizar, para visualizar la figura 3.33:
Figura 3.33 DataGridView con los campos de la tabla clientes.

Como se puede apreciar, se crearon tres nuevos objetos: el objeto


conjuntodedatos
que
contendr
los
datos
seleccionados;
el
objeto
ClientesBindingSource que en su propiedad DataSource tiene asignado el objeto
conjuntodedatos y en la propiedad DataMember el nombre de tabla seleccionada. Por
otro lado, se cre el objeto ClientesTableAdapter, el cual ser el adaptador de datos
para la conexin realizada.
Seleccione el objeto navegador y en la propiedad BindingSource asigne el
objeto ClientesBindingSource para poder desplazarse por cada uno de los registros que
contiene la cuadrcula.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar el formulario con los datos de la tabla clientes


de SQL Server en el objeto DataGridView y por medio del control BindingNavigator
podr desplazarse por cada uno de los registros:
Figura 3.34 Formulario con un DataGridView y un BindingNavigator

91

3.2 Ejercicios de desplazamiento por los registros de una tabla


1. Realizar un programa que permita hacer una conexin a ORACLE y visualizar
los registros de una tabla en campos de texto y desplazarse por ellos.
2. Disear un programa que permita realizar una conexin a ORACLE y visualizar
los registros de una tabla en una cuadrcula y desplazarse por ellos.
3. Crear un programa que permita realizar una conexin a ORACLE y visualizar
los registros de una tabla en un ListView y desplazarse por ellos con control
BindingNavigator.
4. Hacer un programa que permita realizar una conexin a ACCESS y visualizar
los registros de una tabla en campos de texto y desplazarse por ellos con un
control BindingNavigator.
5. Elaborar un programa que permita realizar una conexin a ACCESS y visualizar
los registros de una tabla en una cuadrcula y desplazarse por ellos.
6. Realizar un programa que permita hacer una conexin a ACCESS y visualizar
los registros de una tabla en un ListView y desplazarse por ellos.
7. Hacer un programa que permita realizar una conexin a MySQL y visualizar los
registros de una tabla en campos de texto y desplazarse por ellos.
8. Elaborar un programa que permita realizar una conexin a MySQL y visualizar
los registros de una tabla en una cuadrcula y desplazarse por ellos.
9. Disear un programa que permita realizar una conexin a MySQL y visualizar
los registros de una tabla en un ListView y desplazarse por ellos con un control
BindingNavigator.
10. Crear un programa que permita realizar una conexin a SQL Server y visualizar
los registros de una tabla en un ListView y desplazarse por ellos.

92

4. OPERACIONES CON TABLAS DE UNA BASE DE DATOS


Cuando se trabaja con bases de datos se pueden realizar operaciones de aadir, eliminar
tablas, vistas, como tambin insertar, modificar, eliminar o consultar informacin de
una tabla. Generalmente estas operaciones se realizan ejecutando instrucciones del
lenguaje SQL.
En este aparte se realizarn ejemplos que permitan efectuar dichas operaciones
utilizando algunos de los controles de Visual Basic .NET.
4.1 Ejemplos de operaciones con tablas de una base de datos
4.1.1 Insertar registros en una tabla utilizando campos de texto
Desde un proyecto llamado InsertarRegCampoTexto, hacer un programa que permita
insertar datos en la tabla clientes de la base de datos bdlibrovbnet.mdf de SQL
Server. Los datos a insertar de deben capturar en campos de texto (TextBox).

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Button, 7 Label y 6
TextBox.
Figura 4.1 Interfaz de usuario (InsertarRegcampoTexto).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:

93

Tabla 4.1 Propiedades de controles proyecto InsertarRegCampoTexto.


Control
Label1

Label2
Label3
Label4
Label5
Label6
Label7
Textobox1Textbox6
Button1
Form1

Propiedad
Name
Text
Font
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text

Valor
texto
Insertar Registros en la tabla
clientes.
true
tnit
Digite Nit:
tempresa
Nombre empresa:
trepresentante
Representante:
tdireccion
Direccin:
ttelefono
Telfono:
tciudad
Ciudad
campo1.campo6
blanco
botoninsertar
Insertar Registro
formulario
Insertar registros en una tabla.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 4.2 Interfaz de usuario modificada (InsertarRegCampoTexto).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
94

Imports System.Data.SqlClient
Public Class Form1
.

End Class

b) Seleccione el objeto botoninsertar, d doble clic para abrir el editor de cdigo y


escriba el siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;Integrated
Security=True"
Dim tnit As String = campo1.Text
Dim tempresa As String = campo2.Text
Dim trepresentante As String = campo3.Text
Dim tdireccion As String = campo4.Text
Dim ttelefono As String = campo5.Text
Dim tciudad As String = campo6.Text
Dim seleccion As String = "INSERT INTO clientes(nit, empresa, representante,
direccion,telefono,ciudad)VALUES('" + tnit + "' ,'" + tempresa +
"','" + trepresentante + "','" + tdireccion + "','" + ttelefono + "','" +
tciudad + "')"
Dim adaptadordedatos As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptadordedatos = New SqlDataAdapter(seleccion, conexion)
adaptadordedatos.Fill(tabladedatos)
MsgBox("Registro insertado", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox("Error: " & ex.Message, MsgBoxStyle.AbortRetryIgnore)
End Try

Se crean las variables tnit, tempresa, trepresentante, tdireccion,


ttelefono, tciudad de tipo String que almacenarn los valores de cada campo de
texto (campo1 campo6), tambin se crea una variable seleccion de tipo String
que almacenar la instruccin SQL insert into. En dicha instruccin primero se
selecciona la tabla donde se va a insertar el nuevo registro, seguido del nombre
de los campos de dicha tabla y con la propiedad values se le asignan los
respectivos valores a cada campo. Se crean los objetos adaptadordedatos de
tipo SqlDataAdapter, el cual ser el adaptador de datos para la base de datos a
manipular; tabladedatos se le asigna espacio de memoria de tipo DataTable
para guardar los datos en memoria y poder realizar operaciones con dichos
datos. En un bloque Try se le asigna espacio de memoria de tipo
SqlDataAdapter al objeto adaptadordedatos, al cual se le enva como
parmetros los objetos seleccion (sentencia SQL) y conexion (cadena de
conexin), luego se rellena (fill) el adaptador de datos con la tabla de datos
(tabladedatos) y por ltimo se muestra el mensaje Registro Insertado. Por el
bloque Catch se establece un mensaje en caso de que ocurra un error.

95

Ejecutar el proyecto

Al ejecutarse el proyecto, se debe digitar la informacin solicitada en cada campo de


texto y pulsar el botn Insertar Registro, se insertar el registro en la tabla clientes y
se visualizar el mensaje de Registro Insertado. Si desea puede ejecutar alguno de
los programas que permiten consultar una base de datos SQL Server para verificar que
el registro efectivamente se ha guardado en la tabla.
Figura 4.3 Formulario con datos en los campos de texto (InsertarRegCampoTexto).

Figura 4.4 Mensaje cuando es insertado el registro (InsertarRegCampoTexto).

4.1.2 Insertar registros en una tabla utilizando un DataGridView


Crear un proyecto llamado InsertarRegDataGridView y realizar un programa que
permita insertar datos en la tabla clientes de la base de datos bdlibrovbnet.mdf de SQL
Server. Los datos se deben visualizar y adicionar utilizando un control DataGridView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 3 Button, 1
DataGridView.

96

Figura 4.5 Interfaz de usuario (InsertarRegDataGridView).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 4.2 Propiedades de controles proyecto InsertarRegDataGridView.
Nombre del proyecto: InsertarRegDataGridView
Control
Propiedad
Valor
Button1
Name
botoncargar
Text
Cargar datos
Button2
Name
botonnuevo
Text
Agregar registro
Button3
Name
botonguardar
Text
Guardar registro
DataGridView1
Name
tabla
Form1
Name
formulario
Text
Insertar registros en DataGridView.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 4.6 Interfaz de usuario modificada (InsertarRegDataGridView).

97

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente
espacio de nombres:
Imports System.Data.SqlClient
Public Class Form1
.

End Class

El espacio de nombres System.Data.SqlClient es necesario para utilizar


las diferentes clases que permitan tambin las operaciones con la base de datos
SQL Server.
b) Despus de la apertura de la clase formulario y antes de los procedimientos
Sub, inicialice las siguientes variables u objetos globales:
imports System.Data.SqlClient
Public class formulario
Private transaccion As New BindingSource
Private adaptador As SqlDataAdapter
Dim conexion As String = "Data Source=(local)\SQLEXPRESS;Database=
bdlibrovbnet; Integrated Security=True"
.
.
End Class

Se inicializan los siguientes objetos: transaccion de tipo BindingSource


para encapsular y manipular el origen de los datos; adaptador de tipo
SqlDataAdapter para intercambiar datos con una base de datos SQL Server;
conexion de tipo String al que se le asignar la cadena de conexin para SQL
Server.
c) D doble clic sobre el formulario para abrir el editor de cdigo y cree un nuevo
procedimiento llamado cargar_datos:
Public Sub cargar_datos(ByVal sentenciasql As String, ByVal tabla As DataGridView)
Try
adaptador = New SqlDataAdapter(sentenciasql, conexion)
Dim comando As New SqlCommandBuilder(Adaptador)
Dim tabladedatos As New DataTable()
adaptador.Fill(tabladedatos)
transaccion.DataSource = tabladedatos
With tabla
.Refresh()
.FirstDisplayedScrollingRowIndex = transaccion.Position
End With
Catch ex As SqlException
MsgBox(ex.Message.ToString)
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Sub

98

El procedimiento cargar_datos recibe como parmetros una variable de


tipo String llamada sentenciassql y un objeto tabla de tipo DataGridView. En
un bloque Try se le asigna espacio de memoria al objeto adaptador de tipo
SqlDataAdapter, el cual recibe la sentencia SQL y la cadena de conexin. Por
otro lado, se crea un objeto tabladedatos al cual se le asigna espacio de
memoria DataTable (). Se rellena el adaptador de datos (adaptador) con la
tabla de datos (tabladedatos) y a la propiedad DataSource del objeto
transaccion se le asigna la tabla de datos. Por otro lado, se refresca (Refresh ())
la cuadrcula para cargar los datos y se obtiene la posicin del primer registro de
la cuadrcula (FirstDisplayedScrollingRowIndex = transaccion.Position).
Utilizando dos bloques catch se atrapan las excepciones SQLException (por si
existe algn error en la ejecucin de las sentencias SQL) y Exception (por si
existe algn problema con el sistema).
d) Seleccione el objeto botoncargar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
tabla.DataSource = transaccion
cargar_datos("select * from clientes", tabla)

A la propiedad DataSource del objeto tabla se le establece el origen de


datos (transaccion) y se llama al procedimiento cargar_datos envindole la
sentencia SQL Select * from clientes y el objeto tabla.
e) Seleccione el objeto botonnuevo, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
transaccion.AddNew()

Se utiliza el mtodo AddNew del objeto transaccion para crear un nueva


fila en el objeto tabla.
f) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
If Not transaccion.DataSource Is Nothing Then
Adaptador.Update(CType(transaccion.DataSource, DataTable))
cargar_datos("Select * From clientes", tabla)
Else
MsgBox("No se pudo guardar el registro", MsgBoxStyle.Critical)
End If

Si la fila del objeto tabla no es vaca por medio del mtodo Update del
objeto adaptador se guarda la nueva fila en la tabla clientes, envindole el
contenido del DataSource del objeto transaccion y un objeto DataTable. Por
otro lado, se llama al procedimiento cargar_datos para mostrar nuevamente los
registros de la tabla clientes. Si la fila es vaca se muestra el mensaje No se
pudo guardar el registro.

99

Ejecutar el proyecto

Al ejecutarse el proyecto y pulsar el botn Cargar Datos, se visualizarn los registros


de la tabla clientes, como se aprecia en la siguiente figura:
Figura 4.7 Formulario con los registros de la tabla clientes.

Al pulsar el botn Agregar Registro, se seleccionar en una nueva fila el primer


campo del objeto tabla, el formulario queda de la siguiente forma:
Figura 4.8 Cuadrcula con una nueva fila para insertar datos.

Si se captura la informacin en cada campo de la cuadrcula y luego se pulsa el


botn Guardar Registro, se insertarn los datos en la tabla clientes. En la siguiente
figura se aprecia el registro insertado:
100

Figura 4.9 Cuadrcula con un nuevo registro insertado en la tabla clientes.

4.1.3 Buscar registros por un campo especfico


Dentro de un proyecto llamado ConsultaPorCampo, disear un programa que permita
buscar una ciudad especfica en la tabla clientes y visualizar todos los registros que
cumplan la condicin en un control DataGridView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label, 1 TextBox, 1
Button, 1 DataGridView.
Figura 4.10 Interfaz de usuario (ConsultaPorCampo).

Establecer las propiedades de los objetos de la interfaz de usuario


Establezca las siguientes modificaciones a los controles:

101

Tabla 4.3 Propiedades de controles proyecto ConsultaPorCampo.


Control
Label1
TextBox1
Button1
DataGridView1
Form1

Propiedad
Name
Text
Name
Text
Name
Text
Name
Name
Text

Valor
titulo
Ciudad a Buscar:
campobusqueda
blanco
botonbuscar
Buscar
tabla
formulario
Consultar tabla por campo.

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 4.11 Interfaz de usuario modificada (ConsultaPorCampo).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class Form1

End Class

b) Seleccione el objeto botonbuscar, d doble clic para abrir el editor de cdigo y


escriba el siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;Integrated
Security=True"
Dim clave = campobusqueda.Text
Dim seleccion As String = "SELECT * FROM clientes where ciudad='" + clave + "'"
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try

102

adaptador = New SqlDataAdapter(seleccion, conexion)


adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
If Not (tabla.Rows.Count - 1 > 0) Then
MsgBox("Ciudad no existe en la tabla Clientes...", MsgBoxStyle.Information,
"Consulta por ciudad")
End If
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Se crea una variable clave que almacenar el nombre de la ciudad que


ser escrita en el objeto campobusqueda, tambin se crea una variable
seleccion de tipo String que almacenar la instruccin SQL Select. En dicha
instruccin se selecciona todos los campos de la tabla clientes (Select * from
clientes), y se utiliza la clusula where para mostrar slo aquellos registros
cuya ciudad sea igual al nombre de la ciudad escrita en el objeto
campobusqueda. En un bloque Try se le asigna espacio de memoria de tipo
SqlDataAdapter al objeto adaptador, al cual se le enva como parmetros los
objetos seleccion (sentencia SQL) y conexion (cadena de conexin), luego se
rellena (fill) el adaptador de datos con la tabla de datos (tabladedatos) y se le
asigna al objeto tabla por intermedio de la propiedad DataSource el objeto
tabladedatos. Se utiliza la estructura if para determinar si en el objeto tabla no
se visualizaron registros, es decir, no se encontr la ciudad buscada, por lo cual
se muestra el mensaje Ciudad no existe en la tabla Clientes.

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo, se visualizar la figura 4.11. Si en


el campo de texto se escribe cali, al pulsar el botn Buscar, se mostrar en la
cuadrcula todos aquellos registros cuya ciudad sea igual a cali, como se muestra en la
siguiente figura:
Figura 4.12 Formulario con los registros cuya ciudad es igual a Cali.

103

4.1.4 Buscar registros por cualquier campo de una tabla


Dentro de un proyecto llamado ConsultaCualquierCampo hacer un programa que
permita realizar una bsqueda de informacin en la tabla clientes por cualquier campo
de dicha tabla y visualizar todos los registros que cumplan la condicin en un control
DataGridView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 4 Label, 1 TextBox, 1
Button, 1 DataGridView y 2 ComboBox.
Figura 4.13 Interfaz de usuario (ConsultaCualquierCampo).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 4.4 Propiedades de controles proyecto ConsultaCualquierCampo.
Control
Label1

Label2
Label3
Label4
TextBox1

Propiedad
Text

name
Font /Bold
Text
name
Text
name
Text
name
name
104

Valor
Bsqueda de registros
por cualquier campo de
una tabla.
titulo
true
Campo
txtcampo
Operador
txtoperador
Criterio
txtcriterio
valorcampo

Button1
ComboBox1
ComboBox2
DataGridView1
Form1

name
Text
name
name
Name
Name
Text

boton
Consultar
listacampos
listaoperadores
tabla
formulario
Bsqueda de registros
en una tabla.

Figura 4.14 Interfaz de usuario modificada (ConsultaCualquierCampo).

Escribir cdigo
a) Seleccione el control listacampos, busque la propiedad Items, d clic en los tres
puntos al lado de Coleccin y en la ventana Editor de la coleccin Cadena,
escriba por cada lnea un campo de la tabla clientes y pulse el botn Aceptar.
Otra forma es dar clic sobre la flecha del control en la parte superior derecha y
seleccionar la opcin Editar elementos. La ventana de edicin deber quedar
como se muestra en la figura:

Figura 4.15 Ventana Editor del objeto listacampos.

105

b) Seleccione el control listaoperadores, busque la propiedad Items, d clic en los


tres puntos al lado de Coleccin y en la ventana Editor de la coleccin Cadena,
escriba por cada lnea los operadores: <, >=, <, >=, =, <>, luego pulse el botn
Aceptar. La ventana de edicin deber quedar como se muestra en la figura:
Figura 4.16 Ventana Editor del objeto listaoperadores.

c) Antes de la apertura de la clase formulario se debe importar el siguiente espacio


de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

d) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo y escriba
el siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;Integrated
Security=True"
Dim clave = valorcampo.Text
Dim nombre_campo As String = listacampos.SelectedItem.ToString
Dim valoroperador As String = listaoperadores.SelectedItem.ToString
Dim seleccion As String = "SELECT * FROM clientes where " + nombre_campo + " " +
valoroperador + "'" + clave + "'"
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Se crean las variables: clave que almacenar el valor que est escrito en
el objeto valorcampo; nombre_campo de tipo String que almacenar el
106

nombre del campo seleccionado por medio de la propiedad SelectedItem del


objeto listacampos; valoroperador de tipo String que almacenar el operador
seleccionado por medio de la propiedad SelectedItem del objeto
listaoperadores; tambin se crea una variable seleccion de tipo String que
almacenar la instruccin SQL Select. En dicha instruccin se selecciona todos
los campos de la tabla clientes (Select * from clientes), y se utiliza la clusula
where para mostrar solo aquellos registros cuya nombre_campo corresponda al
criterio de valoroperador concatenado con clave. En un bloque Try se le asigna
espacio de memoria de tipo SqlDataAdapter al objeto adaptador, al cual se le
enva como parmetros los objetos seleccion (sentencia SQL) y conexion
(cadena de conexin), luego se rellena (fill) el adaptador de datos con la tabla de
datos (tabladedatos) y se le asigna al objeto tabla por intermedio de la
propiedad DataSource el objeto tabladedatos.

Ejecutar el proyecto

Al ejecutarse el proyecto en el entorno de desarrollo, se visualizar la figura 4.14. Si se


selecciona del objeto listacampos el campo nit, del objeto listaoperadores el
operador >, se escribe en el objeto valorcampo 300 y se pulsa el botn Consultar,
se visualizar en la cuadrcula todos aquellos registros cuyo nit sea mayor que 300,
como se muestra en la siguiente figura:
Figura 4.17 Formulario con los registros cuyo nit es mayor que 300.

4.1.5 Buscar registros mientras se escribe


Desde un proyecto llamado ConsultaMientrasSeEscribe, disear un programa que
permita realizar una bsqueda de informacin en la tabla clientes mientras se escribe en
un campo de texto. Se debe ir mostrando en un control ListBox la (s) empresa(s) que
cumplan la condicin unido al campo representante.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 1 TextBox, 1
ListBox, 1 DataGridView.
107

Figura 4.18 Interfaz de usuario (ConsultaMientrasSeEscribe).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 4.5 Propiedades de controles proyecto ConsultaCualquierCampo.
Control
Label1

Label2
Textbox1
ListBox1
DataGridView1
Form1

Propiedad
Text
name
Font /bold
Text
name
name
Name
Name
Name
Text

Valor
Consulta de registros
mientras se escribe.
titulo
true
Empresa a Buscar:
txtbusqueda
campobusqueda
listaempresas
Tabla
formulario
Consulta de Registros.

Figura 4.19 Interfaz de usuario modificada (ConsultaMientrasSeEscribe).

108

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) Despus de la apertura de la clase formulario y antes de los procedimientos


Sub, inicialice las siguientes variables u objetos globales:
Public class formulario
Dim tabladedatos As New DataTable
.
End Class

Se inicializa un objeto global llamado tabladedatos al que se le asigna


espacio de memoria de tipo DataTable para manipular los datos a seleccionar.
c) D doble clic sobre el formulario para abrir el editor de cdigo del
procedimiento formulario_ Load y escriba el siguiente cdigo:
Dim conexion As String = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim seleccion As String = "SELECT empresa,representante FROM clientes"
Dim adaptador As SqlDataAdapter
adaptador = New SqlDataAdapter(seleccion, conexion)
tabladedatos = New DataTable
Try
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

A la variable seleccion de tipo String se le asigna la sentencia SQL


Select. En dicha instruccin se selecciona los campos empresa y representante
de la tabla clientes (Select empresa, representante from clientes). Al
ejecutarse el formulario se realiza la conexin a la base de datos
bdlibrovbnet.mdf de SQL Server y se visualiza en el objeto tabla los datos de
los campos empresa y representante de la tabla clientes.
d) D doble clic sobre el objeto campobusqueda para abrir el editor de cdigo del
procedimiento campobusqueda_TextChanged y escriba el siguiente cdigo:
Dim filas() As DataRow
Dim texto As String = campobusqueda.Text
Dim empresaencontrada As String = "Select empresa from clientes where empresa like'"
& campobusqueda.Text & "%'"
filas = tabladedatos.Select("empresa LIKE '" & campobusqueda.Text & "%'")
listaempresas.Items.Clear()
If filas.Length > 0 Then
For Each filascondatos As DataRow In filas

109

listaempresas.Items.Add(filascondatos("Empresa").ToString & ", " &


filascondatos("Representante").ToString)
Next
End If

Se crean las variables: un arreglo llamado filas () de tipo DataRow (fila


de datos) que almacenar los datos coincidentes por la bsqueda realizada; una
variable llamada texto de tipo String a la cual se le asigna el contenido del
objeto campobusqueda en su propiedad Text; otra variable llamada
empresaencontrada de tipo String a la cual se le asigna la sentencia SQL
Select. En dicha instruccin se selecciona el campo empresa de la tabla clientes
(Select empresa from clientes), y se utiliza la clusula where para seleccionar
aquellos registros cuyo campo empresa comiencen (like) con el texto del objeto
campobusqueda sin importar el resto de caracteres del campo empresa (%). Al
arreglo filas () se le asigna la coleccin resultante de los registros que cumplan
la condicin de la propiedad Select (empresa like ????%) del objeto
tabladedatos. Por otro lado, se borran todos elementos (Items) anteriores del
objeto listaempresas utilizando la funcin clear (). Con la instruccin
condicional if, se pregunta si el arreglo filas tiene una longitud (Length) mayor
que cero para crear un ciclo que permita adicionar los campos empresa y
representante de la tabla clientes en el objeto listaempresas utilizando la
funcin Add de la propiedad Items.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 4.19. Si se escribe en el objeto


campobusqueda el carcter c, se visualizar en el objeto listaempresas todos los
registros en donde el nombre de la empresa empiecen por la letra c, como se muestra en
la figura:
Figura 4.20 Formulario con nombres de empresas que comienzan con c.

Ahora si se escribe en el campo de texto la slaba ca, se borrarn los elementos


actuales del objeto listaempresas y se visualizarn los registros cuyo nombre de
empresa empiezan por ca.
110

Figura 4.21 Formulario con nombres de empresas que comienzan con ca.

4.1.6 Ejecutar instrucciones SQL sobre una base de datos


Dentro de un proyecto llamado ConsultarConInstruccionesSQL, crear un programa
que permita escribir sentencias SQL en un campo de texto y visualizar los resultados de
dicha sentencia en una cuadrcula.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 1 TextBox, 1
Button, 1 DataGridView.
Figura 4.22 Interfaz de usuario (ConsultarConInstruccionesSQL).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:

111

Tabla 4.6 Propiedades de controles proyecto ConsultarConInstruccionesSQL.


Control
Label1

Label2
TextBox1
Button1
DataGridView1
Form1

Propiedad
Text

name
Font /bold
Text
name
name
Multiline
name
Text
Name
Name
Text

Valor
Consultar una base de
datos
utilizando
instrucciones SQL.
titulo
True
Digite Cdigo SQL:
texto
textosql
true
boton
Ejecutar
tabla
formulario
Consultar con SQL.

Figura 4.23 Interfaz de usuario modificada (ConsultarConInstruccionesSQL).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) D doble clic sobre el objeto boton para abrir el editor de cdigo y escriba el
siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;

112

Integrated Security=True"
Dim seleccion As String = textosql.Text
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Se crea una variable seleccion de tipo String que almacenar la sentencia


SQL que ser digitada en el campo de texto textosql. En un bloque Try se le
asigna espacio de memoria de tipo SqlDataAdapter al objeto adaptador, al
cual se le enva como parmetros los objetos seleccion (sentencia SQL) y
conexion (cadena de conexin), luego se rellena (fill) el adaptador de datos con
la tabla de datos (tabladedatos) y se le asigna al objeto tabla por intermedio de
la propiedad DataSource el objeto tabladedatos.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 4.23. Si se escribe la sentencia SQL en


el objeto textosql Select nit, empresa, representante from clientes where nit>300,
se visualizar en el objeto tablas todos los registros donde el nit sea mayor que 300,
como se muestra en la figura:
Figura 4.24 Formulario con el campo nit mayor que 300.

4.1.7 Eliminar registros de una tabla


Realizar un proyecto llamado EliminarRegistrosTabla, que permita a un usuario
eliminar registros de la tabla clientes de la base de datos bdlibrovbnet.mdf y visualizar
los dems registros de la tabla en una cuadrcula.

113

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 3 Label, 1 TextBox, 1
Button, 1 DataGridView.
Figura 4.25. Interfaz de usuario (EliminarRegistrosTabla).

Establecer las propiedades de los objetos de la interfaz de usuario.

Establezca las siguientes modificaciones a los controles:


Tabla 4.7 Propiedades de controles proyecto EliminarRegistrosTabla.
Control
Label1

Label2
Label3
TextBox1
Button1
DataGridView1
Form1

Propiedad
Text
name
Font /bold
Text
name
Text
name
name
name
Text
Name
Name
Text

114

Valor
Eliminar registros de la
tabla clientes.
titulo
true
Nit a Eliminar:
etiquetaeliminar
Consultar Tabla
etiquetaconsulta
textoeliminar
boton
Eliminar Registros
Tabla
formulario
Eliminar registros de
una tabla.

Figura 4.26 Interfaz de usuario modificada (EliminarRegistrosTabla).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) D doble clic sobre el objeto boton para abrir el editor de cdigo y escriba el
siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim clave = textoeliminar.Text
Dim seleccion As String = "DELETE FROM clientes where nit='" + clave + "'"
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
Dim respuesta = MsgBox("Esta Seguro de Eliminar los registros con Nit =" & clave,
MsgBoxStyle.YesNo, "Eliminar registros")
If (respuesta = MsgBoxResult.Yes) Then
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
seleccion = "select * FROM clientes"
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Else
MsgBox("Registros NO eliminados", MsgBoxStyle.Information, "Eliminar Registros")
End If
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

115

Se crean las variables: clave que almacenar el valor que est escrito en
el objeto textoeliminar; seleccion de tipo String almacenar la instruccin SQL
Delete. En dicha instruccin se eliminarn todos los registros de la tabla clientes
(Delete from clientes) cuyo (where) campo nit sea igual al contenido del objeto
clave. Si el valor de la variable respuesta es igual a S, se ejecutar la accin de
eliminacin y se visualizar en el objeto tabla los registros restantes de la tabla
clientes.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 4.26. Si se escribe en el objeto


textoeliminar el valor de 900 y se pulsa el botn Eliminar, se visualizar una caja
de mensajes con el mensaje Esta Seguro de eliminar los registros con Nit=900. Si
el usuario pulsa el botn S se visualizar la figura 4.28., en caso contrario se mostrar
el mensaje Registros No eliminados.
Figura 4.27 Formulario para eliminar registros.

Figura 4.28 Formulario con el registro eliminado.

116

4.1.8 Actualizar registros de una tabla


Realizar un proyecto llamado ActualizarRegistrosTabla, que permita a un usuario
cambiar todas las ciudades cuyo nombre sea Barranquilla por Cartagena de la tabla
clientes de la base de datos bdlibrovbnet.mdf y visualizar los registros de la tabla en
una cuadrcula.

Crear la interfaz de usuario.

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 1 TextBox, 1
Button, 1 DataGridView.
Figura 4.29 Interfaz de usuario (ActualizarRegistrosTabla).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 4.8 Propiedades de controles proyecto ActualizarRegistrosTabla.
Control
Label1

Label2
TextBox1
Button1
DataGridView1
Form1

Propiedad
Text

name
Font /bold
Text
name
name
name
Text
Name
Name
Text
117

Valor
Actualizacin
del
campo CIUDAD de la
tabla clientes.
titulo
true
Nueva Ciudad:
etiquetaciudad
textociudad
boton
Actualizar Ciudad
tabla
formulario
Actualizar un campo de
una tabla.

Figura 4.30 Interfaz de usuario modificada (ActualizarRegistrosTabla).

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) D doble clic sobre el objeto boton para abrir el editor de cdigo y escriba el
siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim clave = textociudad.Text
Dim seleccion As String = "UpDate clientes set ciudad = '" + clave + "'" + " where
ciudad='" + "Barranquilla" + "'"
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
Dim respuesta = MsgBox("Esta Seguro de Actualizar los registros",
MsgBoxStyle.YesNo, "Actualizar registros")
If (respuesta = MsgBoxResult.Yes) Then
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
Else
MsgBox("Registros NO Actualizados", MsgBoxStyle.Information, "Actualizar
Registros")
End If
seleccion = "select * FROM clientes"
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

118

Se crean las variables: clave que almacenar el valor que est escrito en
el objeto textociudad; seleccion de tipo String que almacenar la instruccin
SQL Update. En dicha instruccin se actualizarn todos los registros de la tabla
clientes (Update clientes set ciudad) en el campo ciudad igual al contenido del
objeto clave para aquellas ciudades cuyo nombre sea igual a Barranquilla. Si
el valor de la variable respuesta es igual a S, se ejecutar la accin de
actualizacin y se visualizar en el objeto tabla los registros de la tabla clientes.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 4.30. Si se escribe en el objeto


textociudad el valor de Cartagena y se pulsa el botn Actualizar Ciudad, se
visualizar una caja de mensajes con el mensaje Esta Seguro de Actualizar los
registros. Si el usuario pulsa el botn S se visualizar la figura 4.32, en caso contrario
se mostrar el mensaje Registros No Actualizados.
Figura 4.31 Formulario para actualizar el campo ciudad.

Figura 4.32 Formulario con la ciudad actualizada.

119

4.1.9 Generar un reporte de los registros de una tabla


Crear un proyecto llamado InformeDatosTabla, que permita a un usuario visualizar en
un formulario un reporte de todos los registros de la tabla clientes de la base de datos
bdlibrovbnet.mdf.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1
MicrosoftReportViewer.
Figura 4.33. Interfaz de usuario (InformeDatosTabla)

Para acoplar el control MicrosoftReportViewer1 al formulario, pulse la flecha


del lado superior derecha del objeto para ver la ventana Tareas de ReportViewer.
Figura 4.34 Interfaz de usuario (InformeDatosTabla).

120

Seleccione la opcin Acoplar en contenedor principal, se visualizar el


formulario con el control acoplado como se aprecia en la siguiente figura:
Figura 4.35 Control MicrosoftReportViewer acoplado al formulario.

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 4.9 Propiedades de controles proyecto InformeDatosTabla.
Control
Propiedad
MicrosoftReportViewer1 Name
Form1
Name
Text

Valor
reporte
formulario
Reporte de una tabla.

Figura 4.36 Interfaz de usuario modificada (InformeDatosTabla).

121

Disear el informe

Para disear el informe, pulse la flecha del lado superior derecho del objeto reporte
para ver la ventana Tareas de ReportViewer y escoja la opcin Disear nuevo
informe.
Figura 4.37 Seleccionar Disear nuevo informe.

Al seleccionar Disear nuevo informe, se visualizar la siguiente figura:


Figura 4.38 Asistente para informes.

122

D clic en Siguiente> para ver la ventana del Asistente para la configuracin


de orgenes de datos.
Figura 4.39 Asistente para la configuracin de orgenes de datos.

Seleccione el objeto Base de datos y pulse el botn Siguiente>, para visualizar


la ventana de eleccin de la base de datos:

Figura 4.40 Ventana Elegir la conexin de datos.

123

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.
Figura 4.41 Ventana Agregar conexin.

Al pulsar el botn Aceptar se visualizar nuevamente la ventana de eleccin de


conexin de datos con la base de datos bdlibrovbnett.mdf, como se aprecia en la
siguiente figura:
Figura 4.42 Ventana con la base de datos seleccionada.

Pulse Siguiente> para visualizar el siguiente mensaje:

124

Figura 4.43 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto y visualizar la ventana de guardar cadena de conexin:
Figura 4.44 Ventana Guardar cadena de conexin.

Cambie el nombre de la conexin que all aparece por conexion y pulse el botn
Siguiente>, se visualizar la siguiente figura:
Figura 4.45 Ventana de eleccin de objetos de la base de datos.

125

Pulse el signo (+) al lado de Tablas para desplegar las tablas de la base de datos
y seleccione la tabla clientes. Por otro lado, cambie el nombre del DataSet que all
aparece por conjuntodedatos y pulse el botn Finalizar, para visualizar la figura:
Figura 4.46 Asistente para informes seleccionar el origen de datos.

Pulse los signos (+) para desplegar la tabla. D clic en Siguiente> para
visualizar la ventana de seleccin de tipo de informe.
Figura 4.47 Asistente para informes seleccionar el tipo de informe.

126

Seleccione la opcin Tabular o Matriz y d clic en Siguiente> para visualizar


la ventana de diseo de tabla.
Figura 4.48 Asistente para informes disear la tabla.

Seleccione cada campo y pulse el botn Detalles>. Se obtendr la siguiente


figura:
Figura 4.49 Diseo de la tabla con los campos seleccionados.

127

D clic en Siguiente> para visualizar la ventana de eleccin de diseo de la


tabla.
Figura 4.50 Asistente para informes elegir el diseo de la tabla.

Seleccione la opcin Escalonado o Bloquear y d clic en Siguiente> para


visualizar la ventana de estilo de la tabla.
Figura 4.51 Asistente para informes elegir el estilo de tabla.

128

Seleccione la opcin con el estilo que desee y d clic en Siguiente> para


visualizar la ventana de finalizacin del asistente de informes.
Figura 4.52 Ventana de finalizacin del asistente de informes.

Donde aparece el nombre del informe, cmbielo por Informe Clientes y d clic
en Finalizar> para visualizar el diseo final del informe.
Figura 4.53 Diseo final del informe.

129

En este momento se podrn modificar los textos de las etiquetas de los campos,
como tambin la longitud de los campos. Adems en el explorador de soluciones se
visualizar el informe agregado al proyecto.
Elija la ficha de diseo del formulario y d clic sobre la flecha del objeto
reporte y seleccione la opcin Elegir informe.
Figura 4.54 Seleccionar opcin Elegir informe.

All escoja InformeDatosTabla.Informe Cliente.rdlc, para visualizar el


formulario con los objetos conjuntodedatos, clientesBindingSource y
clientesTableAdapter.
Figura 4.55 Formulario con los objetos de manejo de datos.

130

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 4.56. Por medio de la barra de


herramientas se podr desplazar hacia las diferentes hojas del reporte, as como
imprimir el reporte, modificar el diseo del informe, configurar la pgina, cambiar el
tamao de visualizacin del informe y buscar texto dentro del informe.
Figura 4.56 Formulario con el reporte de los registros de la tabla clientes.

4.2 Ejercicios de operaciones con tablas de una base de datos


1. Realizar un programa que permita hacer una conexin a ORACLE y visualizar
los registros cuyo nit sea menor o igual a 500 en un ListView.
2. Disear un programa que permita eliminar los registros cuyo nombre de empresa
contengan la letra e.
131

3. Hacer un programa que permita realizar una conexin a SQL Server y aumentar
en 10 das la fecha de entrega de la tabla pedidos.
4. Crear un programa que permita realizar una conexin a una base de datos e
insertar datos. Slo se deben ingresar datos a la tabla si el nit es mayor que 5000.
5. Realizar un programa que permita conectarse a una base de datos e imprimir en
un formulario un reporte de todos los registros cuya ciudad empiece por B.
6. Crear un programa que permita desplazarse por los registros de una tabla cuya
condicin es que la ciudad tenga en su segundo carcter la letra A.
7. Realizar un programa que visualice en un formulario los registros de una tabla
cuyo nit sea mayor que 200 y menor que 900.
8. Hacer un programa que permita a un usuario agregar un nuevo campo a una
tabla.
9. Disear un programa que permita visualizar los registros que se van a eliminar
de una tabla en una cuadrcula.
10. Crear un programa que permita visualizar los registros de una tabla en una
cuadrcula. Cada vez que el usuario seleccione un registro se debern mostrar en
campos de texto los datos de los respectivos campos.

5. MANEJO DE RELACIONES ENTRE TABLAS EN UNA BASE DE DATOS


Generalmente una base de datos contiene muchas tablas, algunas de las cuales tienen
campos en comn. Dichas tablas se pueden relacionar por el campo comn para
manipular la informacin de los registros de dos o ms tablas. Con la relacin de tablas
tambin se puede realizar el desplazamiento y la operacin de los registros de dichas
tablas. Como se ha podido observar, en los captulos anteriores se ha realizado la
conexin a las bases de datos SQL Server, Access y Oracle, como tambin se han
realizado diferentes ejemplos con SQL Server. En los siguientes ejemplos se seguir
trabajando con SQL Server y la base de datos bdlibrovbnet.mdf, la cual contiene las
tablas clientes, pedidos, productos, ventas. (Se puede consultar el Anexo C, para ver
la estructura de las tablas y su informacin).
5.1 Ejemplos de relacin de tablas de una base de datos
5.1.1 Visualizar registros de tablas relacionadas
Crear un proyecto llamado RelacionarDosTablas, que permita a un usuario visualizar
los campos nit, empresa, de la tabla clientes y nropedido, fechaentrega y
observacin de la tabla pedidos de la base de datos bdlibrovbnet.mdf en una
cuadrcula.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label, 1 Button, 1
132

DataGridView.
Figura 5.1 Interfaz de usuario (RelacionarDosTablas).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 5.1 Propiedades de controles proyecto RelacionarDosTablas
Control
Label1

Button1
DataGridView1
Form1

Propiedad
Text

name
Font /bold
Text
name
Name
Name
Text

Valor
Relacin de las tablas
clientes y pedidos de
bdlibrovbnet.mdf.
titulo
true
Ejecutar
boton
tabla
formulario
Relacin de tablas de
una base de datos.

Figura 5.2 Interfaz de usuario modificada (RelacionarDosTablas).

133

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) D doble clic sobre el objeto boton para abrir el editor de cdigo y escriba el
siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim seleccion As String = "SELECT clientes.nit,clientes.empresa,pedidos.nropedido,
pedidos.fechaentrega, pedidos.observacon FROM clientes
INNER JOIN pedidos ON clientes.nit = pedidos.nit"
Dim adaptador As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptador = New SqlDataAdapter(seleccion, conexion)
adaptador.Fill(tabladedatos)
tabla.DataSource = tabladedatos
Catch ex As Exception
MsgBox("Error" & ex.Message)
End Try

Se crea la variable seleccion de tipo String que almacenar una


instruccin SQL. En dicha instruccin se relacionan las tablas clientes y pedidos
con la clusula INNER JOIN. Primero se seleccionan los campos que se quiere
visualizar de las dos tablas (SELECT
clientes.nit, clientes.empresa,
pedidos.nropedido,..), con INNER JOIN se realiza la relacin de ests
(FROM clientes INNER JOIN pedidos) y utilizando la clusula ON se compara
el campo comn entre las dos tablas, para el ejemplo el campo comn es nit.
134

Por ltimo se ejecuta la instruccin SQL y se rellena el objeto tabla con los
registros que cumplan la condicin de relacin entre las tablas clientes y
pedidos.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 5.2. Si se pulsa el botn Ejecutar, se


visualizarn todos los registros relacionados de las tablas clientes y pedidos. Solamente
se visualizarn los registros cuyo nit de la tabla pedidos exista en la tabla clientes.
Figura 5.3 Formulario con la relacin de las tablas clientes - pedidos.

5.1.2 Relacin de tablas utilizando dos DataGridView


Crear un proyecto llamado RelacionConDataGridView, que permita a un usuario
visualizar en un primer objeto DataGridView los campos de la tabla clientes y al
seleccionar de dicho objeto un registro, mostrar en un segundo objeto DataGridView
todos los registros relacionados con la tabla pedidos de la base de datos
bdlibrovbnet.mdf.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 2 Label, 2 DataGridView.
Figura 5.4 Interfaz de usuario (RelacionConDataGridView).

135

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 5.2 Propiedades de controles proyecto RelacionConDataGridView.
Control
Label1
Label2
DataGridView1
DataGridView2
Form1

Propiedad

Text
name
Text
name
Name
Name
Name
Text

Valor
Clientes
etiquetaclientes
Pedidos
etiquetapedidos
tablaclientes
tablapedidos
formulario
Relacin de tablas con
DataGridView.

Figura 5.5 Interfaz de usuario modificada (RelacionConDataGridView).

136

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) D doble clic sobre el formulario para abrir el editor de cdigo del


procedimiento formulario_ Load y escriba el siguiente cdigo:
Dim conexion As String = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim nvaconexion As New SqlConnection(conexion)
Try
nvaconexion.Open()
Dim conjuntodedatos As New DataSet
Dim datosclientes As New SqlDataAdapter("select * from clientes", nvaconexion)
Dim datospedidos As New SqlDataAdapter("select * from pedidos", nvaconexion)
datosclientes.Fill(conjuntodedatos, "clientes")
datospedidos.Fill(conjuntodedatos, "pedidos")
nvaconexion.Close()
With tablaclientes
.DataMember = "clientes"
.DataSource = conjuntodedatos
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End With
With conjuntodedatos
.Relations.Add("relacion",.Tables("clientes").Columns("nit"),
.Tables("pedidos").Columns("nit"))
End With
With tablapedidos
.DataSource = conjuntodedatos
.DataMember = "clientes.relacion"
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End With
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try

Se crea la variable nvaconexion de tipo SqlConecction que almacenar


la cadena de conexin a la base de datos bdlibrovbnet.mdf de SQL Server. En
un bloque Try se abre la conexin utilizando la funcin Open del objeto
nvaconexion, adems se crean los objetos conjuntodedatos al cual se le asigna
espacio de memoria de tipo DataSet; datosclientes al cual se le asigna espacio
de memoria de tipo SqlDataAdapter y recibe como parmetros la seleccin de
todos los registros de la tabla clientes y el objeto nvaconexion; datospedidos al
cual se le asigna espacio de memoria de tipo SqlDataAdapter y recibe como
parmetros la seleccin de todos los registros de la tabla pedidos y el objeto
nvaconexion. Por otro lado, se rellenan los objetos datosclientes y
137

datospedidos con el conjunto de datos y su respectiva tabla. Al objeto


tablaclientes en su propiedad DataMember se le asigna el nombre de la tabla
clientes, a la propiedad DataSource el conjunto de datos y a la propiedad
SelectionMode se le asigna la operacin de seleccin completa de la fila
(DataGridViewSelectionMode.FullRowSelect). Utilizando la propiedad
Relations y la funcin Add del objeto conjuntodedatos se crea un alias
llamado relacion para definir la relacin entre las tablas clientes y pedidos por
el campo comn (nit). Al objeto tablapedidos en su propiedad DataMember se
le asigna la relacin de las tablas (clientes.relacion), en la propiedad
DataSource el conjunto de datos y en la propiedad SelectionMode se le asigna
la
operacin
de
seleccin
completa
de
la
fila
(DataGridViewSelectionMode.FullRowSelect).

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar al menos los registros de la tabla clientes. Si


selecciona un registro de la primera cuadrcula se mostrarn en la segunda cuadrcula
los registros relacionados entre las tablas clientes - pedidos.
Figura 5.6 Relacin de las tablas clientes pedidos con DataGridView.

5.1.3 Relacin de tablas utilizando ComboBox


Realizar un proyecto llamado RelacionConComboBox, que permita a un usuario
seleccionar desde una lista desplegable el nombre de una empresa y visualizar en una
cuadrcula los pedidos que ha realizado dicha empresa.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1 Label, 1 ComboBox, 1
Button, 1 DataGridView.
Figura 5.7 Interfaz de usuario (RelacionConComboBox).
138

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 5.3 Propiedades de controles proyecto RelacionConComboBox.
Control
Label1
Button1
DataGridView1
ComboBox1
Form1

Propiedad

Text
name
Text
name
Name
Name
Name
Text

Valor
Seleccione empresa:
etiquetaclientes
Ver Pedidos
boton
tablapedidos
lista
formulario
Relacin de tablas con un
ComboBox.

Figura 5.8 Interfaz de usuario modificada (RelacionConComboBox).

139

Establecer la conexin

Desde la ficha Datos del cuadro de herramienta arrastre hacia el formulario el adaptador
de datos SqlDataAdapter (Si no aparece el control, d clic derecho sobre la ficha
Datos y ejecute la orden Elegir elementos, busque el control, seleccinelo en el cuadro
de verificacin y pulse el botn Aceptar.). Se visualizar la siguiente figura:
Figura 5.9. Ventana Elegir la conexin de datos

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.

Figura 5.10 Ventana Agregar conexin.

140

Pulse el botn Aceptar, para visualizar nuevamente la ventana de Elegir la


conexin de datos. All pulse Siguiente> para visualizar el siguiente mensaje:
Figura 5.11 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto. Se visualizar la ventana de eleccin de tipo de comando:
Figura 5.12 Ventana eleccin tipo de comando.

Por
omisin
est
seleccionada la opcin Usar instrucciones SQL. Pulse Siguiente> para visualizar la
ventana de generacin de instrucciones SQL.
Figura 5.13 Ventana Generar las instrucciones SQL.

141

Aqu se
puede
realizar la seleccin de los datos que debera cargar el adaptador de datos. Una forma es
escribir en la ventana instrucciones SQL y la otra es pulsar el botn Generador de
consultas. Para el ejemplo se pulsar el botn y se visualiza la siguiente figura:
Figura 5.14 Ventana Generador de consultas.

Seleccione la tabla clientes, pulse el botn Agregar y luego el botn Cerrar, se


visualizar la siguiente figura:
Figura 5.15 Generador de consultas con la tabla clientes.

142

En
esta
nueva ventana seleccione la opcin * (todas las columnas) o los campos que desea
visualizar (si desea visualizar la consulta seleccionada pulse el botn Ejecutar
consulta). Se obtendr la siguiente figura:
Figura 5.16 Generador de consultas con los campos seleccionados (tabla clientes).

Pulse el botn Aceptar, y se visualizar la siguiente figura:


Figura 5.17 Generador de consultas con la instruccin SQL.
143

Al pulsar el botn Finalizar, se crearn los objetos: SqlDataAdapter1 y


SqlConnection1. Cambie el nombre de dichos objetos por datosclientes y
conexioncliente respectivamente.
Ahora seleccione nuevamente el control SqlDataAdapter de la ficha Datos y
realice los mismos pasos que se dieron anteriormente, pero esta vez seleccione la tabla
pedidos y cambie los nombres de los objetos SqlDataAdapter1 y sqlConnection1 por
datospedidos y conexionpedidos. Se visualizar la siguiente figura:

Figura 5.18 Formulario con los objetos SqlDataAdapter y sqlConnection.

Seleccione la opcin Generar Conjunto de Datos del men Datos y se


mostrar el siguiente cuadro de dilogo:
144

Figura 5.19 Ventana Generar conjunto de datos.

Elija la opcin Nuevo y cambie el nombre DataSet1 por conjuntodedatos,


deshabilite el cuadro de verificacin pedidos (datospedidos) y pulse el botn Aceptar
para agregar el conjunto de datos a la aplicacin, como muestra la figura:
Figura 5.20 Formulario con el objeto conjuntodedatos.

Escribir cdigo
a) Antes de la apertura de la clase formulario se debe importar el siguiente espacio
145

de nombres:
Imports System.Data.SqlClient
Public Class formulario

End Class

b) Despus de la apertura de la clase formulario y antes de los procedimientos


sub, inicialice las siguientes variables u objetos globales:
Public class formulario
Dim vistapedidos As DataView

:::::::::
End class

Se inicializa un objeto global llamado vistapedidos de tipo DataView


para obtener una vista de los datos.
c) D doble clic sobre el formulario para abrir el editor de cdigo del
procedimiento formulario_ Load y escriba el siguiente cdigo:
datosclientes.Fill(conjuntodedatos, "clientes")
datospedidos.Fill(conjuntodedatos, "pedidos")
lista.DataSource = conjuntodedatos.Tables("clientes")
lista.DisplayMember = conjuntodedatos.Tables("clientes").Columns(1).ToString
lista.ValueMember = conjuntodedatos.Tables("clientes").Columns(0).ToString
vistapedidos = conjuntodedatos.Tables("pedidos").DefaultView

Se rellenan los objetos datosclientes y datospedidos con el conjunto de


datos y su respectiva tabla. Al objeto lista en su propiedad DataSource se le
asigna la tabla clientes del conjunto de datos, a la propiedad DisplayMember se
le asigna el valor del segundo campo de la tabla clientes (columna uno (1)
empresa) y a la propiedad ValueMember se le asigna el valor del primer campo
de la tabla clientes (columna cero (0) - nit). Por ltimo al objeto vistapedidos se
le asigna la tabla pedidos del conjunto de datos y utilizando la propiedad
DefaultView se personaliza la vista de los datos.
d) D doble clic sobre el objeto boton para abrir el editor de cdigo y escriba el
siguiente cdigo:
Dim datoempresa As String = lista.SelectedValue
vistapedidos.RowFilter = "nit = '" & datoempresa & "'"
tablapedidos.DataSource = vistapedidos

Se inicializa una variable llamada datoempresa de tipo String que


almacenar lo seleccionado en el objeto lista por intermedio de la propiedad
SelectedValue. Se utiliza la propiedad RowFilter del objeto vistapedidos para
filtrar los registros por el campo nit de acuerdo con el valor de la variable
datoempresa. Por ltimo se asigna a la propiedad DataSource del objeto
tablapedidos el contenido del objeto vistapedidos.
e) D doble clic sobre el objeto lista para abrir el editor de cdigo del
procedimiento lista_SelectedIndexChanged y escriba el siguiente cdigo:

146

tablapedidos.DataSource = Nothing

Utilizando la palabra clave nothing se libera en memoria el contenido


que tenga la propiedad DataSource del objeto tablapedidos.

Ejecutar el proyecto

Al ejecutarse el proyecto se visualizar la figura 5.8, mostrndose en el objeto lista el


primer nombre de empresa de la tabla clientes (si se desea ver los nombres de empresas
ordenados alfabticamente, cambie el valor de la propiedad sorted del objeto lista por
true). Si selecciona un nombre de empresa y se pulsa el botn Ver Pedidos, se
visualizar en la cuadrcula todos los registros que estn relacionados con la tabla
pedidos.
Figura 5.21 Relacin de las tablas clientes pedidos con DataGridView.

5.1.4 Reporte con tablas relacionadas


Realizar un proyecto llamado ReporteTablasRelacionadas, que permita a un usuario
visualizar en un formulario un reporte de todos los registros relacionados de las tablas
clientes pedidos de la base de datos bdlibrovbnet.mdf.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 1
MicrosoftReportViewer.

Figura 5.22 Interfaz de usuario (ReporteTablasRelacionadas).


147

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 5.4 Propiedades de controles proyecto ReporteTablasRelacionadas.
Control
MicrosoftReportViewer1
Form1

Propiedad
Name
Name
Text

Valor
reporte
formulario
Reporte
con
relacionadas.

tablas

Figura 5.23 Interfaz de usuario modificada (ReporteTablasRelacionadas).

Del men Ver seleccione la opcin Explorador de servidores, para visualizar


148

la siguiente figura:
Figura 5.24 Ventana Explorador de servidores.

Al pulsar el icono conectar con bases de datos


Agregar conexin como muestra la figura:

, se visualizar l ventana de

Figura 5.25 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet. Se visualizar la siguiente figura:

Figura 5.26 Ventana con la base de datos seleccionada.


149

Pulse el boton Aceptar, para observar la siguiente figura:


Figura 5.27 Base de datos seleccionada en el Explorador de servidores.

D clic en el signo (+) al lado del nombre de la base de datos para visualizar la
estructura definida en la base de datos. Seleccione la carpeta vistas y d clic derecho
para ver en el men contextual la opcin Agregar nueva vista, seleccinela para
visualizar la ventana Agregar tabla.

Figura 5.28 Ventana Agregar tabla.


150

Agregue las tablas clientes, pedidos y pulse el botn Cerrar. Por otro lado, de
la tabla clientes seleccione los campos nit, empresa, representante y de la tabla
pedidos nropedido, fechaentrega, fechavence, observacon. Se obtendr la siguiente
figura:
Figura 5.29 Vista con las tablas clientes pedidos.

Cierre la ventana de la vista


guardar el cambio de la vista.

(parte superior derecha), para ver la ventana de

Figura 5.30 Ventana guardar cambio de la vista.


151

D clic sobre el botn S, para elegir el nombre de la vista.


Figura 5.31 Ventana elegir nombre vista.

Escriba como nombre de la vista tablasrelacionadas y pulse el botn Aceptar,


para guardar la vista en la base de datos.
Figura 5.32 Base de Datos con la vista tablasrelacionadas.

152

Elija la ficha de diseo del formulario y d clic sobre la flecha del objeto
reporte y seleccione la opcin Disear nuevo informe.
Figura 5.33 Seleccionar opcin Disear nuevo informe del objeto reporte.

Al seleccionar dicha opcin se visualizar la ventana del asistente de informes.


Figura 5.34 Asistente para informes.

153

D clic en Siguiente, para ver la ventana de configuracin de orgenes de datos.


Figura 5.35 Asistente para la configuracin de orgenes de datos.

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.
Figura 5.36 Ventana con la base de datos seleccionada.

154

Pulse Siguiente> para visualizar el siguiente mensaje:

Figura 5.37 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


proyecto y visualizar la ventana de guardar cadena de conexin:
Figura 5.38 Ventana Guardar cadena de conexin.

Cambie el nombre de la conexin que all aparece por conexion y pulse el botn
Siguiente>, se visualizar la siguiente figura:

155

Figura 5.39 Ventana de eleccin de objetos de la base de datos.

Pulse el signo (+) al lado de Vistas para desplegar las vistas actuales de la base
de datos, seleccione la vista tablasrelacionadas. Por otro lado, cambie el nombre del
DataSet que all aparece por conjuntodedatos y pulse el botn Finalizar, para
visualizar la figura 5.40:
Figura 5.40 Asistente para informes seleccionar el origen de datos.

156

Pulse los signos (+) para desplegar la vista. D clic en Siguiente> para visualizar
la ventana de seleccin de tipo de informe.
Figura 5.41 Asistente para informes seleccionar el tipo de informe.

Seleccione la opcin Tabular o Matriz y de clic en Siguiente> para visualizar


la ventana de diseo de tabla.
Figura 5.42 Asistente para informes disear la tabla.

157

Seleccione los campos nit, empresa, representante y sitelos en la casilla


Grupo>, el resto de campos en la casilla Detalles>. Se observar la siguiente figura:
Figura 5.43 Diseo de la tabla con los campos seleccionados.

D clic en Siguiente> para visualizar la ventana de eleccin de diseo de la


tabla.
Figura 5.44 Asistente para informes elegir el diseo de la tabla.

158

Seleccione la opcin Escalonado o Bloquear y si desea incluir subtotales o


no. D clic en Siguiente> para visualizar la ventana de estilo de la tabla.
Figura 5.45 Asistente para informes elegir el estilo de tabla.

Seleccione la opcin con el estilo que desee y d clic en Siguiente> para


visualizar la ventana de finalizacin del asistente de informes.
Figura 5.46 Ventana de finalizacin del asistente de informes.

159

Donde aparece el nombre del informe cmbielo por Informe Clientes - Pedidos
y d clic en Finalizar> para visualizar el diseo final del informe.
Figura 5.47 Diseo final del informe.

En este momento se podrn modificar los textos de las etiquetas de los campos,
como tambin la longitud de los campos. Adems en el explorador de soluciones se
visualizar el informe agregado al proyecto.
Elija la ficha de diseo del formulario y d clic sobre la flecha del objeto
reporte y seleccione la opcin Elegir informe.
Figura 5.48 Seleccionar opcin Elegir informe.

All escoja ReporteTablasRelacionadas.Informe Clientes-Pedidos.rdlc, para


visualizar
el
formulario
con
los
objetos
conjuntodedatos,
tablasrelacionadasBindingSource y tablasrelacionadasTableAdapter.

160

Figura 5.49 Formulario con los objetos de manejo de datos.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizar la figura 5.50. Por medio de la barra de


herramientas se podr desplazar hacia las diferentes hojas del reporte, as como
imprimir el reporte, modificar el diseo del informe, configurar la pgina, cambiar el
tamao de visualizacin del informe y buscar texto dentro del informe.
Figura 5.50 Formulario con el reporte de la relacion clientes- pedidos.

161

5.2 Ejercicios de relacin de tablas


1. Realizar un programa que permita hacer una relacin entre tres tablas de una
base de datos en SQL Server.
2. Disear un programa que permita realizar una relacin entre dos tablas con un
filtro por el campo comn.
3. Hacer un programa que permita visualizar en un reporte los registros de una
relacin de tres tablas.
4. Crear un programa que permita realizar una relacin de tres tablas; para la
primera relacin se deben seleccionar los datos desde un ListBox y visualizarlos
en un DataGridView. Desde este se debe seleccionar un registro y mostrar los
registros de la segunda relacin en un segundo DataGridView.
5. Elaborar un programa que permita realizar una relacin de tres tablas y los
registros se deben mostrar en tres DataGridView.
6. Realizar un programa que permita visualizar un reporte de los registros
relacionados cuyos nit sean mayores que 500.
7. Hacer un programa que permita visualizar un reporte de los registros
relacionados cuyas empresas empiecen por la letra C.
8. Disear un programa que permita realizar y mostrar en un TreeView los
registros relacionados de tres tablas.
9. Crear un programa que permita mostrar en un TreeView los registros
relacionados de dos tablas cuyo nombre de empresa contenga la letra O.
10. Elaborar un programa que permita realizar un reporte con registros relacionados
utilizando CrystalReportViewer.

162

6. MANEJO DE ARCHIVOS CON ASP.NET


ASP.NET es un marco de trabajo de programacin que se ejecuta desde un servidor
Web que genera y administra dinmicamente formularios Web. ASP.NET ofrece varias
ventajas importantes:

Mejor rendimiento. ASP.NET es un cdigo de Common Language Runtime


compilado que se ejecuta en el servidor. ASP.NET aprovecha las ventajas del
enlace anticipado, la compilacin just-in-time, la optimizacin nativa y los
servicios de cach desde el primer momento.

Compatibilidad con herramientas de primer nivel. El marco de trabajo de


ASP.NET se complementa con un diseador y una caja de herramientas muy
completos en el entorno integrado de programacin (Integrated Development
Environment, IDE) de Visual Studio.

Eficacia y flexibilidad. Debido a que ASP.NET se basa en Common Language


Runtime, la eficacia y la flexibilidad de toda esa plataforma se encuentra
disponible para los programadores de aplicaciones Web. La biblioteca de clases
de .NET Framework, la Mensajera y las soluciones de acceso a datos se
encuentran accesibles desde el Web de manera uniforme.

Simplicidad. El marco de trabajo de pgina de ASP.NET permite generar


interfaces de usuario que separan claramente la lgica de aplicacin del cdigo
de presentacin, y controlar eventos en un sencillo modelo de procesamiento de
formularios de tipo Visual Basic .NET.

Facilidad de uso. ASP.NET emplea un sistema de configuracin jerrquico,


basado en texto, que simplifica la aplicacin de la configuracin al entorno de
servidor y las aplicaciones Web. Debido a que la informacin de configuracin
se almacena como texto sin formato, se puede aplicar la nueva configuracin sin
ayuda de herramientas de administracin local.

Escalabilidad y disponibilidad. ASP.NET se ha diseado teniendo en cuenta la


escalabilidad, con caractersticas diseadas especficamente a medida, con el fin
de mejorar el rendimiento en entornos agrupados y de mltiples procesadores.

Posibilidad de personalizacin y extensibilidad. ASP.NET presenta una


arquitectura bien diseada que permite a los programadores insertar su cdigo en
el nivel adecuado.

Seguridad. Con la autenticacin de Windows integrada y la configuracin por


aplicacin, se puede tener la completa seguridad de que las aplicaciones estn a
salvo.

6.1 Manejo de Archivos de texto con ASP.NET.


Como se vio en el Captulo 1, Visual Basic .NET permite interactuar con datos externo
a un proyecto, realizar las diferentes operaciones con archivos de texto plano, como son:
la creacin, eliminacin, sobreescritura de archivos, as como guardar, leer o adicionar
informacin a stos, adems importar o exportar informacin desde y hacia Visual
163

Basic .NET. Con ASP.NET y trabajando en el entorno integrado de desarrollo de Visual


Studio 2008 tambin es posible desde formularios Web realizar estas operaciones con
archivos de texto plano.
Para procesar archivos se hace necesario el uso del espacio de nombres
System.IO. El espacio de nombres System.IO contiene enumeraciones para la apertura
de archivos, el acceso a los archivos y el uso compartido de archivos, adems de clases
para las operaciones de rutas de acceso y la manipulacin de flujos de datos.
6.2 Ejemplos de manejo de archivos con ASP.NET.
6.2.1 Cargar archivo con el control FileUpLoad.
Crear un sitio Web FileUpLoadArchivoTexto y realizar un programa que permita a un
usuario cargar un archivo en un formulario Web y guardar dicho archivo en el sitio
Web, utilizando el control FileUpLoad.
NOTA: Si lo considera necesario puede revisar el Anexo B, donde se explica
brevemente la creacin, la interfaz de usuario, el establecimiento de propiedades de los
controles, la escritura de cdigo y la ejecucin de un nuevo sitio Web.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario Web en la posicin deseada: 1 Label, 1 TextBox,
1 Button, 1 FileUpLoad.
Figura 6.1 Interfaz de usuario (FileUpLoadArchivoTexto).

164

Establecer las propiedades de los objetos de la interfaz de usuario.

Establezca las siguientes modificaciones a las propiedades en los controles:


Tabla 6.1 Propiedades de los controles del sitio Web FileUpLoadArchivoTexto.
Control
Label1

TextBox1

Button1
FileUpLoad1
Form1
Document
Default.aspx.vb

Propiedad
id
Text
Font - Bold
id
Text
TextMode
id
Text
id
id
Title
Nombre de archivo (d
clic derecho sobre la
pgina).

Valor
titulo
Cargar Archivo en
Formulario Web.
true
texto
En blanco
Multiline
boton
Cargar Archivo
cargadorarchivos
formulario
Cargar
Archivo
Formulario Web.
pagina.aspx.vb

un

en

La interfaz de usuario queda como se muestra en la siguiente figura:

Figura 6.2 Controles con propiedades modificadas (FileUpLoadArchivoTexto).

NOTA: Si no se puede modificar el ancho, el alto o la posicin de un objeto, seleccione


dicho objeto y del men Formato escoja la opcin Posicin y all en el Estilo de
ubicacin seale el cuadro con el rtulo de nombre Relativo para poder movilizar o
cambiar de tamao el objeto escogido.

165

Escribir cdigo
a) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo
botonguardar_Click y escriba el siguiente cdigo:
Try
If cargadorarchivos.HasFile Then
If (cargadorarchivos.FileBytes.Length > 0) Then
texto.Text = texto.Text & "Tipo de Contenido del Archivo: " &
cargadorarchivos.PostedFile.ContentType & vbCrLf
texto.Text = texto.Text & "Tamao de archivo: " &
cargadorarchivos.PostedFile.ContentLength & vbCrLf
texto.Text = texto.Text & "Nombre del archivo: " & cargadorarchivos.FileName
& vbCrLf
cargadorarchivos.SaveAs(MapPath("./" & cargadorarchivos.FileName))
texto.Text = texto.Text & "El archivo se guardar en: " & MapPath("./") & vbCrLf
texto.Text = texto.Text & "La informacion del archivo es:" &
cargadorarchivos.FileContent.ReadByte
End If
Else
MsgBox("No se ha seleccionado archivo", MsgBoxStyle.Critical, "Cargar Archivo")
End If
Catch ex As Exception
MsgBox("Error:" & ex.Message, MsgBoxStyle.Critical)
End Try

Dentro del bloque Try se pregunta si el objeto cargadorarchivos


(FileUpLoad) tiene escrito en el campo de texto un nombre de archivo utilizando
el mtodo HasFile. Si la respuesta es verdadera, se determina si la longitud del
archivo es mayor que cero utilizando el mtodo Length de la propiedad
FileBytes del objeto cargadorarchivos para visualizar en el objeto texto el tipo
de contenido del archivo por medio de la funcin ContentType de la propiedad
PostedFile, el nombre del archivo (FileName), la ruta donde se guardar el
archivo que se ha cargado (MapPath (./), el contenido del archivo se
mostrar en formato byte por intermedio de la funcin ReadByte de la
propiedad FileContent. Si por el contrario no se ha escrito en el campo de texto
del objeto cargadorarchivos, se mostrar el mensaje No se ha seleccionado
archivo. En el bloque Catch si se genera algn error, se mostrar un mensaje.

Ejecutar la aplicacin Web

Para ejecutar el proyecto pulse la tecla F5 o el icono


figura:

166

, se visualizar la siguiente

Figura 6.3 Ejecucin del sitio Web FileUpLoadArchivoTexto.

Pulse el botn Examinar, seleccione cualquier archivo de texto y luego pulse el


botn Cargar Archivo para visualizar la informacin relativa al archivo, as como la
ruta en donde est guardado dicho archivo; se obtendra una figura similar a la
siguiente:
Figura 6.4 Formulario Web con la informacin del archivo seleccionado.

167

6.2.2 Manejo de archivos de texto con StreamWriter y StreamReader.


Crear un sitio Web llamado GuardarLeerArchivodeTexto y hacer un programa que
permita a un usuario guardar informacin en un archivo de texto plano, as como leer
dicha informacin, utilizando las clases StreamWriter y StreamReader.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 1 Label, 1 TextBox, 2
Button.
Figura 6.5 Interfaz de usuario (GuardarLeerArchivodeTexto).

Establecer las propiedades de los objetos de la interfaz de usuario

Para el caso del ejemplo establezca las siguientes modificaciones a los controles:
Tabla 6.2 Propiedades de los controles del sitio web GuardarLeerArchivodeTexto.
Control
Label1

TextBox1

Button1
Button2
Form1
Document
Default.aspx.vb

Propiedad
id
Text
Font Bold
id
Text
TextMode
id
Text
id
Text
id
Title
Nombre de archivo (d
clic derecho sobre la
pgina).

168

Valor
titulo
Guardar y Leer un archivo de
texto.
true
texto
En blanco
Multiline
botonguardar
Guardar Informacin
botonabrir
Leer Informacin
formulario
Guardar/leer archivo de texto
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 6.6 Interfaz de usuario modificada (GuardarLeerArchivodeTexto).

Escribir cdigo
a) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim miruta As String = Server.MapPath("./miarchivo.txt")
Dim archivo As New System.IO.StreamWriter(miruta)
archivo.Write(texto.Text)
archivo.Close()
texto.Text = ""
MsgBox("Informacin guardada...", MsgBoxStyle.Information, "Guardar en archivo")
Catch ex As Exception
MsgBox("No se pudo guardar la informacion", MsgBoxStyle.Critical,
"Guardar en archivo")
End Try

Se definen las variables miruta de tipo String, la cual se inicializa con la


ruta fsica del archivo miarchivo.txt que se guardar en la misma carpeta del
sitio Web y que corresponde a la ruta de acceso virtual al servidor Web,
utilizando la funcin MapPath de la propiedad Server del espacio de nombres
System.Web.HttpServerUtility; la variable archivo asignndosele un espacio
de memoria de tipo System.IO.StreamWriter (), a la cual se le enva como
parmetro la ruta y el nombre del archivo (miruta). Utilizando el mtodo Write
se escribe el contenido del objeto texto en el archivo. Por otro lado, se cierra el
archivo utilizando el mtodo close () y se limpia el objeto texto. Adems se
muestra un mensaje confirmando la accin realizada.
b) Seleccione el objeto botonleer, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim miruta As String = Server.MapPath("./miarchivo.txt")

169

Dim archivo As New System.IO.StreamReader(miruta)


texto.Text = archivo.ReadToEnd
archivo.Close()
Catch ex As Exception
MsgBox("No se pudo leer la informacion", MsgBoxStyle.Critical,Guardar archvo)
End Try

Se definen las variables miruta de tipo String, la cual se inicializa con la


ruta fsica del archivo miarchivo.txt que se guardar en la carpeta del nombre
del sitio Web y que corresponde a la ruta de acceso virtual al servidor Web,
utilizando la funcin MapPath de la propiedad Server del espacio de nombres
System.Web.HttpServerUtility; la variable archivo asignndosele un espacio
de memoria de tipo System.IO.StreamReader (). Utilizando el mtodo
ReadToEnd se lee el contenido del archivo y se le asigna al objeto texto. Por
ltimo se cierra el archivo.

Ejecutar la aplicacin Web

Al ejecutarse el proyecto en el entorno de desarrollo de Visual Web Developer/2008, se


visualizar la ventana de depuracin.
Figura 6.7 Ventana de Depuracin.

Seleccione la opcin Modificar el archivo Web.config para habilitar la


depuracin y pulse el botn Aceptar. Se visualizar la figura 6.8. Al digitar el texto
guardando informacin en el archivo de texto, el formulario Web presentara el
siguiente aspecto:
Figura 6.8 Ejecucin Pagina Web (GuardarLeerArchivodeTexto).

170

Si se pulsa el botn Guardar informacin, se limpia el objeto texto y se


mostrar una caja de mensajes reportando que la informacin ha sido guardada y en la
carpeta donde se guard el sitio Web ya se debe encontrar el archivo de texto con la
informacin adicionada. Al pulsar el boton Leer informacin se mostrar en el objeto
texto la informacin del archivo de texto.
Figura 6.9 Mensaje de informacin guardada en el archivo de texto.

6.2.3 Guardar /Leer Archivo de texto con FileSystem


Crear un sitio Web llamado FileSystem y hacer un programa que permita a un usuario
guardar informacin en un archivo de texto plano, leer la informacin de este utilizando
la clase FileSystem.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 1 Label, 1 TextBox, 2
Button.
Figura 6.10 Interfaz de usuario (FileSystem)

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


171

Tabla 6.3 Propiedades de los controles del sitio Web FileSystem.


Control
Label1

TextBox1

Button1
Button2
Document
Form1
Default.aspx.vb

Propiedad
id
Text
Font - Bold
id
Text
TextMode
id
Text
id
Text
Title
id
Nombre
archivo.

de

Valor
titulo
Guardar Leer archivo de
texto con FileSystem.
true
texto
En blanco
Multiline
botonguardar
Guardar en archivo
botonleer
Leer de Archivo
Guardar/Leer Archivo de
Texto.
formulario
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 6.11 Interfaz de usuario modificada (FileSystem).

Escribir cdigo
a) Seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim archivolibre As Integer = FreeFile()
FileSystem.FileOpen(archivolibre, MapPath("./archivodetexto.txt"),
OpenMode.Output)
FileSystem.PrintLine(archivolibre, texto.Text)

172

FileSystem.FileClose(archivolibre)
texto.Text = ""
MsgBox("Informacion guardada en archivo", MsgBoxStyle.Information,
"Guardar archivo")
Catch ex As Exception
MsgBox("La Informacion no fue guardada en archivo" & ex.Message,
MsgBoxStyle.Critical, "Guardar archivo")
End Try

En el anterior cdigo se crea una variable archivolibre de tipo Integer a


la que se le asigna el valor numrico del archivo libre por intermedio de la
funcin FreeFile. Por otro lado, se utiliza la funcin FileOpen de la clase
FileSystem que recibe como parmetros: archivolibre, valor numrico del
archivo libre; MapPath (./) que corresponde a la ruta de acceso virtual al
servidor Web; OpenMode.OutPut, modo de apertura del archivo (salida). Con
el mtodo PrintLine se imprime el contenido del objeto texto, luego se limpia
dicho objeto y por ltimo se cierra el archivo con la funcin FileClose. Adems
se visualizar el mensaje Informacin guardada en archivo.
b) Seleccione el objeto botonabrir, de doble clic para abrir el editor de cdigo y
escriba el siguiente cdigo:
Try
Dim archivolibre As Integer = FreeFile()
FileSystem.FileOpen(archivolibre, MapPath("./archivodetexto.txt"),
OpenMode.Input)
Dim linea As String
Do Until EOF(archivolibre)
linea = FileSystem.LineInput(archivolibre)
texto.Text = texto.Text & linea & vbCrLf
Loop
FileSystem.FileClose(archivolibre)
Catch ex As Exception
MsgBox("La Informacion no fue leida" & ex.Message, MsgBoxStyle.Critical,
"Leer archivo")
End Try

Se utiliza la funcin FileOpen de la clase FileSystem que recibe como


parmetros: archivolibre, valor numrico del archivo libre; MapPath (./) que
corresponde a la ruta de acceso virtual al servidor Web; OpenMode.InPut,
modo de apertura del archivo (entrada). Se define una variable llamada linea de
tipo String, la cual servir para guardar cada lnea del archivo. Por otro lado, se
crea un ciclo (Do Until Loop) que recorrer el archivo hasta el final (EOF)
lnea por lnea y utilizando el mtodo LineInput de la clase FileSystem se le
asignar dicha informacin al objeto texto, por ltimo se cierra el archivo.

Ejecutar la aplicacin Web

Al ejecutarse el sitio Web se visualizar en el explorador la figura 6.12. Al escribir


guardando informacin en el archivo para leer despus utilizando el botn leer de
archivo en el objeto texto, el formulario Web con la informacin quedara de la
siguiente forma:

173

Figura 6.12 Formulario Web con informacin para ser guardada.

Al pulsar el botn Guardar en archivo, se guardar dicha informacin en el


archivo archivodetexto.txt en la ruta del sitio Web y el objeto texto quedar en
blanco. Se visualizar el mensaje Informacin guardada en archivo. Si se pulsa el
botn Leer de Archivo, se leer el contenido del archivo de texto y se mostrar la
informacin en el objeto texto.
Figura 6.13 Mensaje de informacin guardada.

174

6.3 Ejercicios de archivos de texto con ASP.NET


1. Hacer un sitio Web que permita guardar 10 datos y leerlos en un archivo de texto
plano utilizando la clase FileSystem.
2. Crear un sitio Web que permita guardar 10 datos y leerlos en un archivo de texto
plano utilizando las clases StreamWriter y StreamReader.
3. Disear un sitio Web que permita cargar archivos slo de extensin .doc utilizando
FileUpLoad.
4. Hacer un sitio Web que permita adicionar informacin a un archivo de texto
previamente creado.
5. Disear un sitio Web que permita importar todos los datos que existan en un archivo
de Excel y visualizarlos en un GridView (apyese en los ejemplos del captulo 1).
6. Elaborar un sitio Web que permita importar todos los datos que existan en un
archivo de Excel y visualizarlos en un DataList (apyese en los ejemplos del
captulo 1).
7. Hacer un sitio Web que permita exportar un rango de datos a una tabla de Word
(apyese en los ejemplos del captulo 1).
8. Crear un sitio Web que permita importar los datos de un archivo de texto a un
GridView (apyese en los ejemplos del captulo 1).
9. Disear un sitio Web que permita exportar los datos de un control DataList a Excel
(apyese en los ejemplos del captulo 1).
10. Realizar un sitio Web que permita exportar los datos de un GridView a Word
(apyese en los ejemplos del captulo 1).

175

7. BASE DE DATOS CON ASP.NET


Con los proyectos Windows Forms se logr manipular diferentes bases de datos, como
fue realizar la conexin a las bases de datos SQL Server, Access y Oracle, el
desplazamiento entre los registros de una tabla, las operaciones entre una o ms tablas,
la creacin de reportes de una o ms tablas utilizando la tecnologa ADO.NET.
Con ASP.NET tambin es posible realizar dicha manipulacin en diversas bases
de datos utilizando los diferentes controles de los formularios Web para el manejo de
datos. Para trabajar con bases de datos y ASP.NET se debe tener en cuenta la
conceptualizacin sobre bases de datos y el manejo del lenguaje de consulta
estructurado SQL realizada en el Captulo 2.
En este captulo se crearn ejemplos que permitan utilizar los diferentes
controles Web para conectarse, desplazarse, realizar operaciones con una o ms tablas
de la base de datos bdlibrovbnet.mdf de SQL Server y sus tablas clientes, pedidos,
productos y ventas (Ver anexo C).
Por otro lado, si lo considera necesario puede revisar el Anexo B, donde se
explica brevemente la creacin, la interfaz de usuario, el establecimiento de propiedades
de los controles, la escritura de cdigo y la ejecucin de un nuevo sitio Web.
7.1 Ejemplos de manipulacin de bases de datos con ASP.NET
7.1.1 Pagina Web con los campos de una tabla
Dentro de un sitio Web llamado WebCamposTabla, realizar un programa que permita
visualizar en una caja de texto la estructura de la tabla clientes de la base de datos
bdlibrovbnet.mdf de SQL Server.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 1 Button, 1 TextBox y 1
Label.
Figura 7.1 Interfaz de usuario (WebCamposTabla).

176

Establecer las propiedades de los objetos de la interfaz de usuario


Establezca las siguientes modificaciones a los controles:

Tabla 7.1 Propiedades de controles proyecto WebCamposTabla.


Control
Label1

TextBox1
Button1
Form1
Document
Default.aspx.vb

Propiedad
id
Text
Font - Bold
TextMode
id
Text
id
Text
id
title
Nombre de
archivo.

Valor
titulo
Estructura de la tabla clientes.
true
Multiline
texto
blanco
boton
Ver Estructura
formulario
Estructura de la tabla clientes de SQL
Server,
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 7.2 Interfaz de usuario modificada (WebCamposTabla).

Escribir cdigo
a) Antes de la apertura de la clase Default se debe importar los siguientes espacios
de nombres:
Imports System.Data
Imports System.Data.SqlClient
Partial Class Default
Inherits System.Web.UI.Page
.

End Class

177

Los espacios de nombres System.Data y System.Data.SqlClient son


necesarios para utilizar las diferentes clases que permitan las operaciones con
bases de datos en una aplicacin Web, en este caso SQL Server.
b) Seleccione el objeto boton, d doble clic para abrir el editor de cdigo y escriba
el siguiente cdigo:
Dim conexion As String = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;
Integrated Security=True"
Dim datostabla As DataTable
Dim datoscolumna As DataColumn
Dim conjuntodedatos As New DataSet()
Dim seleccion As New SqlDataAdapter("SELECT * FROM clientes", conexion)
seleccion.Fill(conjuntodedatos, "Clientes")
seleccion = Nothing
Dim consulta As String = ""
consulta += "Conexin establecida: " & conexion & vbCrLf & vbCrLf
For Each datostabla In conjuntodedatos.Tables
consulta += "Estructura de la Tabla: " & datostabla.TableName & vbCrLf & vbCrLf
For Each datoscolumna In datostabla.Columns
consulta += datoscolumna.ColumnName & vbTab & "(" &
datoscolumna.DataType.Name & ")" & vbCrLf
Next
Next
texto.Text = (consulta)

Se crea una variable llamada conexion que contendr la cadena de


conexin a la base de datos de SQL Server. La cadena de conexin debe
contener como mnimo los siguientes parmetros:

Data Source: se le asigna la ruta donde se encuentra el servidor SQL


Server, en este caso, SQL Server se instal en el computador de
trabajo por lo cual el nombre del servidor es localhost o como
direccin IP 127.0.0.1.
Database: se le asigna el nombre de la base de datos a la que se
quiere conectar.
Integrated Security: se le asigna true o false para determinar si la
seguridad es integrada o no.

Luego se crean los siguientes objetos: datostabla de tipo DataTable;


datoscolumna de tipo DataColumn; conjuntodedatos con asignacin de
espacio de memoria de tipo DataSet; seleccion de tipo SqlDataAdapter a la
cual se le asigna la sentencia SQL (Select * From Clientes) y la cadena de
conexin (conexion), luego se rellena (fill) el objeto seleccin con el conjunto
de datos y el nombre de la tabla, como tambin se libera dicho objeto (nothing).
Por otro lado, se crea una variable llamada consulta de tipo String que
almacenar la cadena de conexin y la estructura de la tabla. Adems se crea un
ciclo externo que recorrer las tablas que contenga el objeto conjuntodedatos en
su propiedad Tables (en este caso solamente estar la tabla clientes) y se
asignar a la variable consulta el texto Estructura de la Tabla: concatenado
con el nombre de la tabla (TableName). En un segundo ciclo se recorrer cada
uno de los campos de la tabla seleccionada y se adicionar a la variable consulta
el nombre del campo utilizando la propiedad ColumnName del objeto
178

datoscolumna y el nombre del tipo de dato de dicho campo (DataType.Name),


por ltimo se muestra en el objeto texto el contenido de la variable consulta.

Ejecutar la aplicacin Web

Al ejecutarse la aplicacin Web, se visualizar la figura 7.3:


Figura 7.3 Ejecucin sitio del Web WebCamposTabla.

Al pulsarse el botn Ver Estructura se visualizar la cadena de conexin, los


campos y el tipo de dato de la tabla clientes, como se aprecia en la siguiente figura:
Figura 7.4 Pagina Web con la estructura de la tabla clientes.

179

7.1.2 Conexin a una base de datos desde un Formulario Web


Dentro de un sitio Web llamado ConexionBDWebSQLServer, crear un programa que
permita a un usuario realizar una conexin a una base de datos de SQL Server y
mostrar los datos de una tabla llamada clientes en un objeto GridView, utilizando
cdigo de Visual Basic .NET.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 2 Label y 1 GridView.
Figura 7.5 Interfaz de usuario (ConexionBDWebSQLServer).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 7.2 Propiedades de controles proyecto ConexionBDWebSQLServer.
Control
GridView1
Label1

Label2

Form1
Document
Default.aspx.vb

Propiedad
Valor
id
tabla
id
titulo
Text
Conexin a una base de datos de SQL
SERVER tabla clientes.
Font - Bold
true
id
etiquetaregistros
Text
blanco
Font - Bold
True
id
formulario
title
Conexin a una base de datos
Nombre de pagina.aspx.vb
archivo.

180

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 7.6 Interfaz de usuario modificada (ConexionBDWebSQLServer).

Escribir cdigo
a) Antes de la apertura de la clase Default se debe importar los siguientes espacios
de nombres:
Imports System.Data
Imports System.Data.SqlClient
Partial Class Default
Inherits System.Web.UI.Page
.

End Class

Los espacios de nombres System.Data y System.Data.SqlClient son necesarios


para utilizar las diferentes clases que permitan las operaciones con bases de
datos, en este caso SQL Server.
b) D doble clic sobre la pgina para abrir el editor de cdigo del procedimiento
Page_Load y escriba el siguiente cdigo:
Dim conexion As String
conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;Integrated
Security=True"
Dim seleccion As String = "SELECT * FROM clientes"
Dim adaptadordedatos As SqlDataAdapter
Dim tabladedatos As New DataTable
Try
adaptadordedatos = New SqlDataAdapter(seleccion, conexion)
adaptadordedatos.Fill(tabladedatos)
tabla.DataSource = tabladedatos

181

tabla.DataBind()
etiquetaregistros.text=Total de Registros: & talabdedatos.Rows.Count
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try

Se crean los siguientes objetos: seleccion de tipo String a la cual se le


asigna la sentencia SQL Select * From Clientes (se van a mostrar en la
cuadrcula todos los registros de la tabla clientes); adaptadordedatos de tipo
SqlDataAdapter el cual ser el adaptador de datos para manipular la base de
datos SQL Server; tabladedatos se le asigna espacio de memoria de tipo
DataTable para guardar los datos en memoria y poder realizar operaciones con
dichos datos. En un bloque Try se le asigna espacio de memoria de tipo
SqlDataAdapter al objeto adaptadordedatos, al cual se le enva como
parmetros los objetos seleccion (datos a mostrar) y conexion (cadena de
conexin), luego se rellena (fill) el adaptador de datos con la tabla de datos
(tabladedatos); al objeto tabla en su propiedad DataSource se le establece el
conjunto de datos que se van a mostrar al asignrsele la tabla de datos; por otro
lado, se enlaza al objeto tabla el origen de datos (DataBind()) y por ltimo se
establece a la propiedad Text del objeto etiquetaregistros el texto Total de
Registros: unido al nmero total de registros que contenga la tabla
(tabladedatos.Rows.Count). Por el bloque Catch se establece un mensaje en
caso de que ocurra un error.

Ejecutar la aplicacin Web

Al ejecutarse la aplicacin Web, se visualizar en la pgina Web los datos de la tabla


clientes de la base de datos bdlibrovbnet.mdf de SQL Server en el objeto tabla:
Figura 7.7 Formulario Web con datos de la tabla clientes.

182

7.1.3 Conexin a SQL Server con el control DetailsView


Dentro de un sitio Web llamado ConexionWebDetailsView, realizar un programa que
permita a un usuario hacer una conexin a una base de datos de SQL Server y mostrar
los datos de tabla clientes en un objeto DetailsView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 1 Label y 1 DetailsView.
Figura 7.8 Interfaz de usuario (ConexionWebDetailsView).

Establecer las propiedades de los objetos de la interfaz de usuario.

Establezca las siguientes modificaciones a los controles:


Tabla 7.3 Propiedades de controles del sitio Web ConexionWebDetailsView.
Control
DetailsView1
Label1

Form1
Document
Default.aspx.vb

Propiedad
Valor
id
detalles
id
titulo
Text
Conexin a una base de datos de SQL
SERVER - DetailsView.
Font - Bold
true
id
formulario
title
Conexin a una base de datos con un
DetailsView
Nombre de pagina.aspx.vb
archivo.

La interfaz de usuario queda como se muestra en la siguiente figura:


183

Figura 7.9 Interfaz de usuario con controles modificados.

Establecer la conexin

Seleccione el objeto DetailsView llamado detalles y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de DetailsView:
Figura 7.10 Ventana de Tareas de DetailsView.

Seleccione la opcin Elegir origen de datos y <Nuevo origen de datos>,


para visualizar la siguiente figura:

184

Figura 7.11 Ventana tipo origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datos y pulse el botn Aceptar, para ver la siguiente figura:
Figura 7.12 Ventana Elegir la conexin de datos.

185

Pulse el botn Nueva Conexin, se visualizar la ventana de Agregar


conexin:
Figura 7.13 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:
Figura 7.14 Ventana con la base de datos seleccionada.

186

Pulse el botn Siguiente> para visualizar el siguiente mensaje:


Figura 7.15 Ventana configuracin de origen de datos.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
Figura 7.16 Ventana para configurar la instruccin Select.

187

En esta ventana se debe seleccionar los datos a mostrar. Una forma es utilizar
instrucciones SQL y la otra es escoger una tabla o vista. Eligiendo la segunda opcin
seleccione la tabla cliente y elija * para ver todos los registros de la tabla clientes y
pulse el botn Siguiente para ver la ventana Consulta de prueba.
Figura 7.17 Ventana Consulta de prueba.

Pulsando el botn Consulta de prueba se visualizarn los datos, como se


aprecia en la figura 7.17. Pulse el botn Finalizar para volver al diseo de la pgina:
Figura 7.18 Ventana de diseo pagina.aspx.

188

Ejecutar la aplicacin Web

Al ejecutarse la aplicacin Web, se visualizar en la pgina Web el primer registro de la


tabla clientes de la base de datos bdlibrovbnet.mdf de SQL Server en el objeto
detalles:
Figura 7.19. Formulario Web con el primer registro de la tabla clientes.

Como se puede apreciar, solamente se puede ver el primer registro de la tabla


clientes. Si se desea ver el resto de los registros vuelva a modo diseo y nuevamente
seleccione el objeto detalles y en la flecha que aparece en el lado superior derecho, d
clic para visualizar las Tareas de DetailsView y habilite el cuadro de verificacin
Habilitar paginacin, como se aprecia en la siguiente figura:
Figura 7.20 Objeto detalles con la opcin Habilitar paginacin.

189

Nuevamente ejecute el sitio Web para visualizar la pgina Web con la


paginacin de registros.
Figura 7.21 Pgina Web con registros de la tabla clientes y paginacin.

En este momento puede moverse entre los registros de la tabla clientes


seleccionando el valor numrico que desee. Tambin es posible obtener una apariencia
ms agradable para visualizar los datos en el objeto detalles. Otra vez en modo de
diseo seleccione el objeto detalles y en la ventana Tareas de DetailsView seleccione
la opcin Formato automtico para ver la ventana Autoformato.
Figura 7.22 Ventana para cambio de formato del DetailsView.

190

Si selecciona el esquema Pizarra y se pulse el botn Aceptar, se obtendr en


modo diseo la siguiente figura:
Figura 7.23 Objeto DetailsView con formato Pizarra.

Al ejecutarse nuevamente el sitio Web, se aprecia la siguiente figura:


Figura 7.24 Pgina Web con el objeto DetailsView con formato Pizarra.

191

7.1.4 Pgina Web con desplazamiento de registros


Crear un sitio Web llamado WebListViewDataPager y realizar un programa que
permita visualizar los registros de la tabla clientes de la base de datos
bdlibrovbnet.mdf de SQL Server en un control ListView. El usuario deber poder
desplazarse cada cinco registros de la tabla utilizando los botones: Primero, Siguiente,
Anterior y ltimo.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 1 ListView.
Figura 7.25 Interfaz de usuario (WebListViewDataPager).

192

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 7.4 Propiedades de controles del sitio WebListViewDataPager.
La interfaz de usuario queda como se muestra en la siguiente figura:
Control
ListView1
Form1
Document
Default.aspx.vb

Propiedad
Valor
id
lista
id
formulario
title
Desplazamiento de registros con un
ListView.
Nombre de pagina.aspx.vb
archivo.

Establecer la conexin

Seleccione el objeto ListView llamado lista y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de ListView:
Figura 7.26 Ventana de las Tareas de ListView.

Seleccione la opcin Elegir origen de datos y <Nuevo origen de datos>,


para visualizar la siguiente figura:
Figura 7.27 Ventana tipo origen de datos.

193

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datos y pulse el botn Aceptar, para ver la siguiente figura:

Figura 7.28 Ventana elegir la conexin de datos.

194

Pulse el botn Nueva Conexin, se visualizar la ventana Agregar conexin:


Figura 7.29 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:
Figura 7.30 Ventana con la base de datos seleccionada.

195

Pulse el botn Siguiente> para visualizar la ventana de configuracin de origen


de datos:
Figura 7.31 Ventana configuracin de origen de datos.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
Figura 7.32 Ventana para configurar la instruccin Select.

196

En esta ventana se debe seleccionar los datos a mostrar. Una forma es utilizar
instrucciones SQL y la otra es escoger una tabla o vista. Eligiendo la segunda opcin
seleccione la tabla cliente y elija * para ver todos los registros de la tabla clientes y
pulse el botn Siguiente para ver la ventana Consulta de prueba.
Figura 7.33 Ventana Consulta de prueba.

Pulsando el botn Consulta de prueba se visualizarn los datos, como se


aprecia en la figura 7.33. Pulse el botn Finalizar para volver al diseo de la pgina:

197

Figura 7.34 Ventana de diseo control ListView.

Ahora seleccione la opcin Configurar ListView en la ventana Tareas de


ListView.
Figura 7.35. Ventana para seleccionar la opcin Configurar ListView.

Al pulsar la opcin se visualizar la ventana de diseo del ListView, escoja


como diseo cuadrcula, como estilo Multicolor y seleccione Habilitar paginacin,
se obtendra la siguiente figura:
Figura 7.36 Configurar el tipo de diseo, el estilo y habilitar la paginacin.

A
l pulsar el botn Aceptar, nuevamente se regresa a modo diseo de la pgina, como se
muestra en la figura:
198

Figura 7.37 Modo diseo del sitio WebListViewDataPager.

Seleccione la pestaa Dividir y busque la etiqueta asp:DataPager y adicione la


propiedad PageSize con un valor igual a cinco (5), como se muestra en la figura:
Figura 7.38 Cdigo del objeto DataPager del sitio WebListViewDataPager.

Ejecutar sitio Web

199

Al ejecutarse el sitio Web, se visualizar la pgina con los cinco primeros registros de la
tabla clientes, como tambin, los botones de desplazamiento.
Figura 7.39 Pgina con un ListView y botones de desplazamiento.

Si la tabla contiene ms de cinco registros se activarn los botones Siguiente,


ltima. El usuario podr pulsar el botn Siguiente y se desplazar a los prximos cinco
registros de la tabla. Pulsando los diferentes botones se podr desplazar por todos los
registros que contenga la tabla.
Figura 7.40 Pgina con los siguientes cinco registros.

7.1.5 Pgina Web para insertar registros en una tabla


Crear un sitio Web llamado InsertarDatosWeb y disear un programa que permita
insertar registros en una tabla utilizando el control DetailsView. Adems se deben poder
visualizar en una cuadrcula los registros de dicha tabla.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 2 Label, 1 DetailsView,
1 DataGridView.
Figura 7.41 Interfaz de usuario (InsertarDatosWeb).
200

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 7.5 Propiedades de controles del sitio InsertarDatosWeb.
Control
Label1

Label2

DetailsView1
GridView1
Form1
Document
Default.aspx.vb

Propiedad
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
ID
ID
title
Nombre de
archivo.

Valor
titulo
Insertar un registro en la tabla Clientes
true
titulotabla
Registros de la tabla Clientes.
true
detalles
tabla
formulario
Insertar un registro en una tabla.
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:

201

Figura 7.42 Interfaz de usuario modificada (InsertarDatosWeb).

Establecer la conexin

Seleccione el objeto DetailsView llamado detalles y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de DetailsView:
Figura 7.43 Ventana de las Tareas de DetailsView.

202

Seleccione la opcin Elegir origen de datos y <Nuevo origen de datos>,


para visualizar la siguiente figura:
Figura 7.44 Ventana tipo origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datos y pulse el botn Aceptar, para ver la siguiente figura:
Figura 7.45 Ventana elegir la conexin de datos.

203

Pulse el botn Nueva Conexin, se visualizar la ventana Agregar conexin:


Figura 7.46 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:
Figura 7.47 Ventana con la base de datos seleccionada.

204

Pulse el botn Siguiente> para visualizar la ventana de configuracin de origen


de datos:
Figura 7.48 Ventana configuracin de origen de datos.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
Figura 7.49 Ventana para configurar la instruccin Select.

205

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla
clientes. Adems pulse el botn Avanzadas para ver la ventana de opciones de
generacin de consultas SQL avanzadas.
Figura 7.50 Ventana Consulta de prueba.

Habilite las opciones Generar instrucciones Insert, Update y Delete, Usar


concurrencia optimista y pulse el botn Aceptar para ver nuevamente la ventana de
configurar origen de datos - datos.
Figura 7.51 Configurar origen de datos - Consulta de prueba.

206

Pulse el botn Finalizar para volver al diseo de la pgina:


Figura 7.52 Ventana diseo del sitio Web InsertardatosWeb.

Habilite la opcin Habilitar insercin en la ventana de Tareas de DetailsView.


Se observar la siguiente figura:
Figura 7.53 DetailsView con la opcin Habilitar insercin habilitada.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opcin


elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

207

Figura 7.54 Objeto tabla con el objeto datos como origen de datos.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se visualizar la pgina con los objetos DetailsView y


GridView. En el objeto DetailsView se muestra el primer registro de la tabla clientes y
en el objeto GridView se visualizan todos los registros de dicha tabla.
Figura 7.55 Pgina Web con los objetos DetailsView y GridView.

208

Al pulsarse el link Nuevo los campos de texto del objeto detalles quedarn en
blanco y se observarn dos nuevos link Insertar y Cancelar, como se aprecia en la
figura.
Figura 7.56 Pgina Web para insertar registros.

Escriba en cada campo la informacin que se muestra en la figura 7.57.


Figura 7.57 Pgina Web con la informacin a insertar.

209

Al pulsarse el link Insertar se guardarn los datos en la tabla clientes y


nuevamente se mostrar el primer registro y el link Nuevo, adems se visualizar en el
objeto tabla el nuevo registro.
Figura 7.58 Pgina Web con el registro insertado.

7.1.6 Pagina Web para eliminar registros de una tabla


Crear un sitio Web llamado EliminarRegistrosWeb y disear un programa que permita
eliminar un determinado registro de la tabla clientes. El registro lo deber escoger el
usuario por medio de la paginacin de registros.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 2 Label, 1 DetailsView,
1 DataGridView.

Establecer las propiedades de los objetos de la interfaz de usuario.

Establezca las siguientes modificaciones a los controles:

210

Tabla 7.6 Propiedades de controles del sitio EliminarRegistrosWeb.


Control
Label1

Label2

DetailsView1
GridView1
Form1
Document
Default.aspx.vb

Propiedad
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
ID
ID
title
Nombre de
archivo.

Valor
titulo
Eliminar un registro en la tabla Clientes
true
titulotabla
Registros de la tabla Clientes.
true
detalles
tabla
formulario
Eliminar un registro en una tabla.
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:


Figura 7.59 Interfaz de usuario (EliminarRegistrosWeb).

Establecer la conexin

Seleccione el objeto DetailsView llamado detalles y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de DetailsView.
Realice la eleccin del origen de datos y los pasos subsiguientes segn el ejercicio
anterior (desde la figura 7.43 hasta la 7.51), obtendr como resultado final la siguiente
figura:

211

Figura 7.60 Ventana de diseo de sitio Web EliminarRegistrosWeb.

Habilite las opciones Habilitar paginacin, Habilitar eliminacin en la


ventana de Tareas de DetailsView. Se observar la siguiente figura:
Figura 7.61 Opciones Habilitar paginacin y Habilitar eliminacin habilitadas.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opcin


elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

212

Figura 7.62 Objeto tabla con el objeto datos como origen de datos.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se visualizar la pgina con los objetos DetailsView y


GridView. En el objeto DetailsView se muestra el primer registro de la tabla clientes y
en el objeto GridView se visualizan los registros de dicha tabla.
Figura 7.63 Pgina Web con los objetos DetailsView y GridView.

Busque el registro que se insert en el ejemplo anterior utilizando los link


numricos. Se visualiza la siguiente figura.
213

Figura 7.64 Pgina Web para eliminar registros.

Al pulsarse el link Eliminar se borrar de la tabla el registro seleccionado en la


tabla clientes y nuevamente se mostrar el primer registro, adems se visualizar en el
objeto tabla los registros actuales.
Figura 7.65 Pgina Web con el registro eliminado.

214

7.1.7 Pgina Web para modificar registros


Crear un sitio Web llamado ModificarRegistrosWeb y disear un programa que
permita modificar un determinado registro de la tabla clientes. El registro lo deber
escoger el usuario utilizando la paginacin de registros.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina Web en la posicin deseada: 2 Label, 1 DetailsView,
1 DataGridView.
Establecer las propiedades de los objetos de la interfaz de usuario.
Establezca las siguientes modificaciones a los controles:
Tabla 7.7 Propiedades de controles del sitio ModificarRegistrosWeb.
Control
Label1

Label2

DetailsView1
GridView1
Form1
Document
Default.aspx.vb

Propiedad
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
ID
ID
title
Nombre de
archivo.

Valor
titulo
Modificar un registro en la tabla Clientes
true
titulotabla
Registros de la tabla Clientes.
true
detalles
tabla
formulario
Modificar un registro en una tabla.
pagina.aspx.vb

La interfaz de usuario queda como muestra la siguiente figura:


Figura 7.66 Interfaz de usuario (ModificarRegistrosWeb).

215

Establecer la conexin

Seleccione el objeto DetailsView llamado detalles y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de DetailsView.
Realice la eleccin del origen de datos y los pasos subsiguientes segn el ejercicio 7.1.5
Pgina Web para insertar registros (desde la figura 7.43 hasta la 7.51), obtendr
como resultado final la siguiente figura:
Figura 7.67 Ventana diseo sitio Web ModificarRegistrosWeb.

Habilite las opciones Habilitar paginacin, Habilitar edicin en la ventana de


Tareas de DetailsView. Se observar la siguiente figura:
Figura 7.68 Opciones Habilitar paginacin y Habilitar edicin habilitadas.

216

Ahora seleccione la opcin Editar campos del objeto detalles para visualizar la
siguiente figura:
Figura 7.69 Ventana Campos del objeto detalles.

En la ventana Campos seleccionados seleccione los objetos Editar, Actualizar,


Cancelar y en las Propiedades de CommandField en Apariencia en la propiedad
ButtonType cambie Link por Button y pulse el botn Aceptar, para visualizar la
siguiente figura:
Figura 7.70 Objeto detalles con botn Editar.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opcin


elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

217

Figura 7.71 Objeto tabla con el objeto datos como origen de datos.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se visualizar la pgina con los objetos DetailsView y


GridView. En el objeto DetailsView se muestra el primer registro de la tabla clientes y
en el objeto GridView se visualizan los registros de dicha tabla.
Figura 7.72 Pgina Web con los objetos DetailsView y GridView.

218

Por ejemplo, si se desea modificar el primer registro de la tabla pulse el botn


Editar para que las cajas de texto queden en modo de edicin y se visualicen los
botones Actualizar y Cancelar.
Figura 7.73 Pgina Web para modificar un registro.

Al realizar en el campo empresa el cambio Canasticos Bacanos por Canasticos


Cheveres y pulsar el botn Actualizar se modificar el registro seleccionado en la tabla
clientes, adems se visualizar en el objeto tabla los registros actuales.
Figura 7.74 Pgina Web con el registro modificado.

219

7.1.8 Pgina Web con un informe de los registros de una tabla


Crear un sitio Web llamado ReporteTablaWeb y disear un programa que permita
visualizar el reporte de los registros de una tabla.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en la pgina: 1 MicrosoftReportViewer.
Figura 7.75 Interfaz de usuario (ReporteTablaWeb).

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 7.8 Propiedades de controles del sitio ReporteTablaWeb.
Control
MicrosoftReportViewer
Form1
Document
Default.aspx.vb

Propiedad
ID
ID
title
Nombre
de
archivo.

Valor
reporte
formulario
Reporte web de una tabla.
pagina.aspx.vb

La interfaz de usuario queda como se muestra en la siguiente figura:

220

Figura 7.76 Interfaz de usuario modificada (ReporteTablaWeb).

Disear el informe y establecer la conexin con la base de datos

Para seleccionar la tabla y disear el informe, pulse la flecha del lado superior derecho
del objeto reporte para ver la ventana Tareas de ReportViewer y escoger la opcin
Elegir informe.
Figura 7.77 Seleccin Tareas de ReportViewer Elegir informe.

Seleccione <Informe de Servidor>, para visualizar la siguiente figura:


221

Figura 7.78 Elegir informe Informe servidor.

Aqu seleccione la opcin Disear nuevo informe, se visualizar el asistente de


informes.
Figura 7.79 Asistente para informes.

D clic en Siguiente> para ver la ventana del asistente para la configuracin de


orgenes de datos.

222

Figura 7.80 Ventana Elegir la conexin de datos.

D clic en el botn Nueva Conexin. En la ventana que se visualiza elija como


origen de datos Microsoft SQL Server y la base de datos bdlibrovbnet.
Figura 7.81 Ventana Agregar conexin.

Al pulsar el botn Aceptar se visualizar nuevamente la ventana de eleccin de


conexin de datos con la base de datos bdlibrovbnett.mdf, como se aprecia en la
siguiente figura:
223

Figura 7.82 Ventana con la base de datos seleccionada.

Pulse Siguiente> para visualizar el siguiente mensaje:

Figura 7.83 Ventana Microsoft Visual Studio.

Pulse el botn S para copiar el archivo de datos en la carpeta en donde guard el


sitio Web y visualizar la ventana de guardar cadena de conexin:
Figura 7.84 Ventana Guardar cadena de conexin.

224

Cambie el nombre de la conexin que all aparece por conexion y pulse el botn
Siguiente>, se visualizar la siguiente figura:
Figura 7.85 Ventana de eleccin de objetos de la base de datos.

Pulse el signo (+) al lado de Tablas para desplegar las tablas de la base de datos
y seleccione la tabla clientes. Por otro lado, cambie el nombre del DataSet que all
aparece por conjuntodedatos y pulse el botn Finalizar, para visualizar la figura:
Figura 7.86 Asistente para informes seleccionar el origen de datos.

Pulse los signos (+) para desplegar la tabla. D clic en Siguiente> para
225

visualizar la ventana de seleccin de tipo de informe.


Figura 7.87 Asistente para informes seleccionar el tipo de informe.

Seleccione la opcin Tabular o Matriz y d clic en Siguiente> para visualizar


la ventana de diseo de tabla.
Figura 7.88 Asistente para informes disear la tabla.

226

Seleccione el campo nit y pulse el boton Grupos, el resto de campos pselos a


la ventana Detalles con el botn Detalles>, se obtiene la siguiente figura:
Figura 7.89. Diseo de la tabla con los campos seleccionados.

D clic en Siguiente> para visualizar la ventana de eleccin de diseo de la


tabla.
Figura 7.90 Asistente para informes elegir el diseo de la tabla.

227

Seleccione la opcin Escalonado o Bloquear y d clic en Siguiente> para


visualizar la ventana de estilo de la tabla.
Figura 7.91 Asistente para informes elegir el estilo de tabla.

Seleccione la opcin con el estilo que desee y d clic en Siguiente> para


visualizar la ventana de finalizacin del asistente de informes.
Figura 7.92 Ventana de finalizacin del asistente de informes.

228

Donde aparece el nombre del informe cmbielo por Reporte Web Tabla
Clientes y d clic en Finalizar> para visualizar el diseo final del informe.
Figura 7.93 Ventana de diseo reporte Web.

Seleccione nuevamente la pgina aspx, pulse la flecha del objeto reporte y


escoja la opcin elegir informe.
Figura 7.94 Ventana para elegir informe.

Seleccione el informe Reporte Web Tabla Clientes.rdlc, se visualizar la


siguiente figura:

229

Figura 7.95 Ventana con el informe Reporte Web Tabla Clientes.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se visualizar la pgina con el informe de los registros que
contiene la tabla clientes. Puede ajustar el tamao del reporte en la pgina en modo de
diseo.
Figura 7.96 Pagina Web con el informe de los registros de la tabla clientes.

230

7.2 Ejercicios de bases de datos con ASP.NET

1. Crear un sitio Web que permita eliminar todos los registros de una tabla cuyos
nombres de empresa contengan la letra M.
2. Hacer un sitio Web que permita visualizar los registros de una tabla de una base
de datos de SQL Server en un control DataList.
3. Realizar un sitio Web que permita visualizar los registros de una tabla de una
base de datos de SQL Server en un control Repeater.
4. Elaborar un sitio Web que permita ejecutar instrucciones SQL en un campo de
texto y visualizar los resultados en un objeto GridView.
5. Disear un sitio Web que permita actualizar un campo numrico de una tabla de
una base de SQL Server.
6. Crear un sitio Web que permita importar todos los datos que existan en un
archivo de Excel y visualizarlos en un control FormView.
7. Hacer un sitio Web que permita mostrar los registros de una tabla de una base de
datos cuyo nombre de ciudad empiecen con CA.
8. Realizar un sitio web que permita la creacin de reporte por un rango
determinado.
9. Hacer un sitio Web que permita visualizar en un control DataList los registros de
una tabla de Access.
10. Disear un sitio Web que permita visualizar en un reporte los registros de una
tabla ordenados alfabticamente.

231

8. MANEJO DE TABLAS RELACIONADAS CON ASP.NET


Como se vio en el Captulo 5 es posible obtener una relacin entre las tablas
pertecenientes a una base de datos. Para que la relacin entre tablas se cumpla, como
minimo dos tablas deben tener en comn un campo. Una de las tablas tendr como llave
primaria el campo comn y sta se llamar tabla principal, la otra tabla no necesita que
el campo comn sea llave primaria, a sta se le llamar tabla secundaria.
Tambin con sitios Web ASP.NET se puede realizar el desplazamiento entre los
registros de las tablas relacionadas, como las operaciones de insercin, modificacin,
consulta y eliminacin, as como la generacin de informes.
8.1 Ejemplos de relacin entre tablas de una base de datos con ASP.NET
8.1.1 Relacin de dos tablas con DropDownList y GridView
Crear un sitio Web llamado RelacionDosTablasWeb, que permita a un usuario
seleccionar el nombre de una empresa desde un control desplegable y en una cuadrcula
se visualicen los pedidos que dicha empresa ha realizado.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario Web en la posicin deseada: 3 Label, 1
DropDownList, 1 GridView.
Figura 8.1. Interfaz de usuario (RelacionDosTablasWeb)

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


232

Tabla 8.1 Propiedades de controles del sitio Web RelacionDosTablasWeb.


Control
Label1

Label2
Label3
DropDownList1
GridView1
Form1
Document
Default.aspx.vb

Propiedad
ID
Text
Font - Bold
ID
Text
ID
Text
ID
ID
ID
title
Nombre
de
archivo.

Valor
titulo
Relacin de tablas con
DropDownList y un GridView.
true
txtempresas
Seleccione empresa:
txtpedidos
Registros relacionados.
listaempresas
tabla
formulario
Relacin de tablas.
pagina.aspx.vb

un

Figura 8.2 Interfaz de usuario modificada (RelacionDosTablasWeb).

Establecer la conexin

Seleccione el objeto DropDownList llamado listaempresas y en la flecha que aparece


en el lado superior derecho, d clic en el mouse para visualizar las Tareas de
DropDownList.

233

Figura 8.3 Ventana de las Tareas del DropDownList.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:


Figura 8.4 Ventana para configuracin de orgenes de datos.

En la opcin Seleccionar un origen de datos escoja <Nuevo origen de datos>


y pulse el botn Aceptar, para ver la ventana de eleccin de tipo de origen de datos.

234

Figura 8.5 Ventana para elegir tipo de origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datos y pulse el botn Aceptar, para ver la siguiente figura:
Figura 8.6 Ventana elegir la conexin de datos.

235

Pulse el botn Nueva Conexin, se visualizar la ventana Agregar conexin:


Figura 8.7 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:
Figura 8.8 Ventana con la base de datos seleccionada.

236

Pulse el botn Siguiente> para visualizar la ventana de configuracin de origen


de datos datos:
Figura 8.9 Ventana configuracin de origen de datos - datos.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
Figura 8.10 Ventana para configurar la instruccin Select.

237

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla
clientes y pulse el botn Siguiente para ver la ventana de Consulta de prueba.
Figura 8.11 Ventana de Consulta de prueba.

Pulse el botn Finalizar para volver a la ventana de elegir un origen de datos.


Cambie en la opcin seleccionar un campo de datos para mostrar en DropDownList nit
por empresa. Se observar la siguiente figura:
Figura 8.12 Ventana de datos a mostrar en el DropDownList.

238

Pulse el botn Aceptar para volver a modo diseo.


Figura 8.13 Ventana modo diseo del sitio Web RelacionDosTablasWeb.

Habilite la opcin Habilitar AutoPostBack (hace un llamado al servidor para


devolver los datos seleccionados) en la ventana Tareas de DropDownList. Adems
seleccione el objeto tabla. Se observar la siguiente figura:
Figura 8.14 Objeto tabla seleccionado.

En Tareas de GridView en la opcin elegir origen de datos escoja <Nuevo


origen de datos> para visualizar la siguiente figura:
239

Figura 8.15 Ventana eleccin tipo de origen de datos (objeto tabla).

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datospedidos y pulse el botn Aceptar, para ver la
siguiente figura:
Figura 8.16 Ventana elegir la conexin de datos.

240

D clic en la flecha
siguiente figura:

y escoja el objeto llamado conexion. Se observar la

Figura 8.17 Ventana Elegir conexin de datos con el objeto conexion.

Pulse el botn Siguiente para ver la ventana para configurar la instruccin


Select.
Figura 8.18 Ventana para configurar la instruccin Select.

241

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla
pedidos. La ventana sera similar a la siguiente figura:
Figura 8.19 Ventana con la tabla pedidos seleccionada.

Pulse el botn WHERE para visualizar la ventana Agregar clusula WHERE.


Figura 8.20 Ventana Agregar clusula WHERE.

242

Seleccione en la ventana Columna el campo nit, en la ventana Operador el


signo igual (=), en la ventana Origen la opcin Control, en la ventana Id. de control
seleccione el objeto listaempresas y pulse el botn Agregar para ver la siguiente
figura:
Figura 8.21 Ventana con la clusula WHERE agregada.

Pulse el botn Aceptar para volver a la ventana Configurar origen de datos


datospedidos.
Figura 8.22 Ventana Configurar origen de datos datospedidos.

243

Pulse el botn Siguiente para ver la ventana Consulta de prueba.


Figura 8.23 Ventana Consulta de prueba.

Si desea realizar una prueba pulse el botn Consulta de prueba para ver la
ventana de Editor de valores del parmetro.
Figura 8.24 Ventana Editor de valores del parmetro.

244

En el campo de texto Valor escriba un valor de un nit que se encuentre en la


tabla clientes (100 para nuestro caso) y pulse el botn Aceptar para ver todos los
registros relacionados con la tabla pedidos. Si existe relacin se observara la siguiente
figura:
Figura 8.25 Ventana Consulta de prueba (relacin clientes pedidos).

Pulse el botn Finalizar para volver a modo diseo del sitio Web.
Figura 8.26. Ventana de diseo sitio Web RelacionDosTablasWeb.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observan en la pgina los objetos DropDownList y


245

GridView. En el objeto DropDownList se puede seleccionar un nombre de una


empresa de la tabla clientes y en el objeto GridView se visualizarn los registros
relacionados con la tabla pedidos.
Figura 8.27 Pgina Web con la relacin clientes - pedidos.

8.1.2 Relacin de tablas utilizando GridView y FormView


Disear un sitio Web llamado RelacionGridViewFormViewWeb, que permita a un
usuario seleccionar de un control GridView un registro de la tabla clientes y visualizar
en un control FormView todos los registros relacionados con la tabla pedidos de la
base de datos bdlibrovbnet.mdf.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 3 Label, 1 GridView, 1
FormView.
Figura 8.28. Interfaz de usuario (RelacionGridViewFormViewWeb)

246

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 8.2 Propiedades de controles sitio Web RelacionGridViewFormViewWeb.
Control
Label1

Label2
Label3

Propiedad
ID
Text
Font - Bold
ID
Text
ID
Text

FormView1
GridView1
Form1
Document

ID
ID
ID
title

Default.aspx.vb

Nombre
archivo.

de

Valor
titulo
Relacin de tablas con GridView
y FormView.
true
txttabla
Seleccione Clientes
txtforma
Pedidos relacionados con el
Cliente.
forma
tabla
formulario
Relacin
con
GridView
y
FormView.
pagina.aspx.vb

Figura 8.29 Interfaz de usuario modificada (RelacionGridViewFormViewWeb).

Establecer la conexin

Seleccione el objeto GridView llamado tabla y en la flecha que aparece en el lado


superior derecho, d clic en el mouse para visualizar las Tareas de GridView.

247

Figura 8.30 Ventana de las Tareas del GridView.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:


Figura 8.31 Ventana para elegir tipo de origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datosclientes y pulse el botn Aceptar, para ver la siguiente
figura:

248

Figura 8.32 Ventana elegir la conexin de datos.

Pulse el botn Nueva Conexin, se visualizar la ventana Agregar conexin:


Figura 8.33 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:

249

Figura 8.34 Ventana con la base de datos seleccionada.

Pulse el botn Siguiente> para visualizar la ventana de configuracin de origen


de datos datosclientes:
Figura 8.35 Ventana configuracin de origen de datos - datos.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
250

Figura 8.36 Ventana para configurar la instruccin Select.

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla
clientes y pulse el botn Siguiente para ver la ventana Consulta de prueba.
Figura 8.37 Ventana de Consulta de prueba.

Pulse el botn Finalizar para volver a modo diseo.


251

Figura 8.38 Ventana modo diseo del sitio Web RelacionGridViewFormViewWeb.

Habilite la opcin Habilitar seleccin en la ventana Tareas de GridView.


Adems seleccione el objeto forma. Se observar la siguiente figura:
Figura 8.39 Objeto forma seleccionado.

En Tareas de FormView en la opcin elegir origen de datos escoja <Nuevo


origen de datos> para visualizar la siguiente figura:

252

Figura 8.40 Ventana eleccin tipo de origen de datos (objeto forma).

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos SqlDataSource1 por datospedidos y pulse el botn Aceptar, para ver la
siguiente figura:
Figura 8.41 Ventana Elegir la conexin de datos.

253

D clic en la flecha
siguiente figura:

y escoja el objeto llamado conexion. Se observar la

Figura 8.42 Ventana Elegir conexin de datos con el objeto conexion.

Pulse el botn Siguiente para ver la ventana para configurar la instruccin


Select.
Figura 8.43 Ventana para configurar la instruccin Select.

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla
pedidos. La ventana sera similar a la siguiente figura:
254

Figura 8.44 Ventana con la tabla pedidos seleccionada.

Pulse el botn WHERE para visualizar la ventana Agregar clusula WHERE.


Figura 8.45 Ventana Agregar clusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el


signo igual (=), en la ventana Origen la opcin Control, en la ventana Id. de control
seleccione el objeto tabla y pulse el botn Agregar para ver la siguiente figura:

255

Figura 8.46 Ventana con la clusula WHERE agregada.

Pulse el botn Aceptar para volver a la ventana Configurar origen de datos


datospedidos.
Figura 8.47 Ventana Configurar origen de datos datospedidos.

Pulse el botn Siguiente para ver la ventana Consulta de prueba.


256

Figura 8.48 Ventana Consulta de prueba.

Pulse el botn Finalizar para volver a modo diseo del sitio Web. Habilite la
opcin Habilitar paginacin en la ventana Tareas de FormView. Se observar la
siguiente figura:
Figura 8.49 Ventana de diseo sitio Web RelacionGridViewFormViewWeb.

Adems en Tareas de FormView escoja Formato Automtico, seleccione el


esquema profesional para visualizar la siguiente figura:

257

Figura 8.50 Ventana de Autoformato.

Pulse el botn Aceptar para volver a modo diseo.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observa en la pgina el objeto GridView. En dicho objeto


se visualizan los registros de la tabla clientes.
Figura 8.51 Pgina Web con la cuadrcula de clientes.

Si pulsa sobre el link Seleccionar al frente del nit 100, se visualizarn los
registros relacionados con la tabla pedidos en el objeto forma.

258

Figura 8.52 Pgina Web con registros relacionados clientes - pedidos.

Si desea que la presentacin de los registros relacionados sea ms profesional,


vuelva a modo de diseo y seleccione el objeto forma y visualice las Tareas de
FormView, como se muestra en la siguiente figura:
Figura 8.53 Pgina Web con el objeto forma seleccionado.

Seleccione la opcin Editar plantillas. Se observar la siguiente figura:

259

Figura 8.54 Objeto forma en modo de edicin de plantillas.

Modifique cada una de las etiquetas del objeto forma y pulse la opcin
Terminar edicin de plantillas. Segn los cambios realizados, la pgina podra quedar
de la siguiente forma:

Figura 8.55 Objeto forma en las plantillas modificadas.

Al volver a ejecutar el sitio Web y seleccionar el nit 100, se observar la


siguiente figura:

260

Figura 8.56 Pgina Web con la relacin clientes pedidos.

8.1.3 Pgina Web con tres tablas relacionadas


Disear un sitio Web llamado RelacionTresTablasWeb, que permita a un usuario
seleccionar de un control DropDownList el nombre de una empresa de la tabla clientes
y mostrar en una cuadrcula los registros relacionados con la tabla pedidos. Al
seleccionar algn registro de la cuadrcula de pedidos se debe visualizar en otra
cuadrcula la venta realizada en dicho pedido.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control especfico y ubique los


siguientes controles en el formulario en la posicin deseada: 3 Label, 1 GridView, 1
FormView.
Figura 8.57 Interfaz de usuario (RelacionTresTablasWeb).

261

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:


Tabla 8.3 Propiedades de controles sitio Web RelacionTresTablasWeb.
Control
Label1

Label2
Label3
Label4
ListBox1
GridView1
GridView2
Form1
Document
Default.aspx.vb

Propiedad
ID
Text
Font - Bold
ID
Text
ID
Text
ID
Text
ID
ID
ID
ID
title
Nombre
de
archivo.

Valor
titulo
Relacin de tres tablas
ListView y dos GridView.
true
txtempresa
Seleccione empresa
txtpedidos
Relacin Clientes - Pedidos.
txtventas
Relacin Pedidos - Ventas.
listaempresas
tablapedidos
tablaventas
formulario
Relacin de tres tablas.
pagina.aspx.vb

con

Figura 8.58 Interfaz de usuario modificada (RelacionTresTablasWeb).

Establecer la conexin

Seleccione el objeto ListView llamado listaempresas y en la flecha que aparece en el


lado superior derecho, d clic en el mouse para visualizar las Tareas de Listbox.
262

Figura 8.59 Ventana de las Tareas del ListBox.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:


Figura 8.60 Ventana para configuracin de orgenes de datos.

En la opcin Seleccionar un origen de datos escoja <Nuevo origen de datos>


y pulse el botn Aceptar, para ver la ventana de eleccin de tipo de origen de datos.

263

Figura 8.61 Ventana para elegir tipo de origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos por datosclientes y pulse el botn Aceptar, para ver la siguiente figura:
Figura 8.62 Ventana elegir la conexin de datos.

Pulse el botn Nueva Conexin, se visualizar la ventana Agregar conexin:

264

Figura 8.63 Ventana Agregar conexin.

En la ventana que se visualiza elija como origen de datos Microsoft SQL


Server y la base de datos bdlibrovbnet y pulse Aceptar. Se visualizar la siguiente
figura:
Figura 8.64 Ventana con la base de datos seleccionada.

Pulse el botn Siguiente> para visualizar la ventana de configuracin de origen


de datos datosclientes:
265

Figura 8.65 Ventana configuracin de origen de datos - datosclientes.

Cambie el nombre de la conexin bdlibrovbnetConnectionString1 por


conexion y pulse el botn Siguiente para ver la ventana para configurar la instruccin
Select.
Figura 8.66 Ventana para configurar la instruccin Select- datosclientes.

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla
clientes y pulse el botn Siguiente para ver la ventana Consulta de prueba.
266

Figura 8.67 Ventana Consulta de prueba.

Pulse el botn Finalizar para volver a la ventana de elegir un origen de datos.


Cambie en la opcin seleccionar un campo de datos para mostrar en ListBox nit por
empresa. Se observar la siguiente figura:
Figura 8.68 Ventana de datos a mostrar en el ListBox.

Pulse el botn Aceptar para volver a modo diseo.


267

Figura 8.69 Ventana modo diseo del sitio Web RelacionTresTablasWeb.

Habilite la opcin Habilitar AutoPostBack en la ventana Tareas de ListBox.


Adems seleccione el objeto tablapedidos. Se observar la siguiente figura:
Figura 8.70 Objeto tablapedidos seleccionado.

Seleccione la opcin Elegir origen de datos, para visualizar la siguiente figura:

268

Figura 8.71 Ventana para elegir tipo de origen de datos.

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos por datospedidos y pulse el botn Aceptar, para ver la siguiente figura:
Figura 8.72 Ventana Elegir la conexin de datos.

D clic en la flecha
y escoja el objeto llamado conexion. Se observar la
ventana de configurar la instruccin Select.
269

Figura 8.73 Ventana para configurar la instruccin Select.

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla
pedidos y pulse el botn WHERE para visualizar la ventana Agregar clusula
WHERE.
Figura 8.74 Ventana Agregar clusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el


signo igual (=), en la ventana Origen la opcin Control, en la ventana Id. de control
seleccione el objeto listaempresas y pulse el botn Agregar para ver la siguiente
figura:
270

Figura 8.75 Ventana con la clusula WHERE agregada.

Pulse el botn Aceptar para volver a la ventana Configurar origen de datos


datospedidos.
Figura 8.76 Ventana Configurar origen de datos datospedidos.

Pulse el botn Siguiente para ver la ventana Consulta de prueba.

271

Figura 8.77 Ventana Consulta de prueba.

Pulse el botn Finalizar para volver a modo diseo del sitio Web. Habilite la
opcin Habilitar seleccin en la ventana Tareas de GridView. Se observar la
siguiente figura:
Figura 8.78 Ventana de diseo sitio Web RelacionTresTablasWeb.

Ahora seleccione el objeto tablaventas. Se observar la siguiente figura:

272

Figura 8.79 Objeto tablaventas seleccionado.


E

En Tareas de GridView en la opcin elegir origen de datos escoja <Nuevo


origen de datos> para visualizar la siguiente figura:
Figura 8.80 Ventana de eleccin de tipo de origen de datos (objeto tablaventas).

Seleccione el objeto Base de datos y cambie el identificador para el origen de


datos por datosventas y pulse el botn Aceptar, para ver la siguiente figura:
273

Figura 8.81 Ventana Elegir la conexin de datos - datosventas.

D clic en la flecha
y escoja el objeto llamado conexion. Pulse el botn
Siguiente para observar la ventana de configurar la instruccin Select.
Figura 8.82 Ventana para configurar la instruccin Select - datosventas.

Pulse el botn WHERE para visualizar la ventana Agregar clusula WHERE.

274

Figura 8.83 Ventana Agregar clusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el


signo igual (=), en la ventana Origen la opcin Control, en la ventana Id. de control
seleccione el objeto tablapedidos y pulse el botn Agregar para ver la siguiente figura:
Figura 8.84 Ventana con la clusula WHERE agregada.

Pulse el botn Aceptar para volver a la ventana Configurar origen de datos


datosventas.

275

Figura 8.85 Ventana Configurar origen de datos datosventas.

Pulse el botn Siguiente para ver la ventana Consulta de prueba.


Figura 8.86 Ventana Consulta de prueba - datosventas.

Pulse el botn Finalizar para volver a modo diseo del sitio Web. Se observar
la siguiente figura:

276

Figura 8.87 Ventana de diseo de sitio Web RelacionTresTablasWeb.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observa en la pgina el objeto ListBox. En dicho objeto se


visualizan las empresas de la tabla clientes.
Figura 8.88 Pgina Web con la lista de empresas de la tabla clientes.

Si pulsa sobre el nombre de empresa Canasticos Cheveres, se visualizarn en el


objeto tablapedidos los pedidos 10 y 20 que se encuentran relacionados con la tabla
clientes. Al escoger el link Seleccionar al frente del nmero de pedido 20, se
visualizarn en el objeto tablaventas los registros relacionados con la tabla pedidos.
277

Figura 8.89 Pgina Web con registros relacionados clientes pedidos - ventas.

8.2 Ejercicios relacin de tablas con ASP.NET


1. Crear un sitio Web que permita realizar una relacin entre tres tablas de una base
de datos en SQL Server utilizando controles GridView.
2. Hacer un sitio Web que permita realizar una relacin de tres tablas; para la
primera relacin se deben seleccionar los datos desde un ListBox y visualizarlos
en un GridView. Desde ste se debe seleccionar un registro y mostrar los
registros de la segunda relacin en un DataList.
3. Disear un sitio Web que permita visualizar en un reporte los registros
relacionados de dos tablas cuyos nit sean mayores que 500.
4. Elaborar un sitio Web que permita visualizar un reporte de los registros
relacionados cuyas empresas empiecen por las letras PO.
5. Realizar un sitio Web que permita mostrar en un ListBox los registros
relacionados de dos tablas.
6. Crear un sitio Web que permita importar todos los datos relacionados que
existan en un FormView a un archivo de Excel.
7. Hacer un sitio Web que permita mostrar los datos relacionados de dos tablas de
una base de datos por un rango determinado en la tabla principal.
8. Elaborar un sitio Web que permita la creacin de un reporte con dos tablas
relacionadas.
9. Hacer un sitio Web que permita visualizar en un control DataList los registros
relacionados de dos tablas de Access.
10. Disear un sitio Web que permita visualizar un reporte segn un rango
seleccionado.

278

ANEXO A
CREACIN DE APLICACIONES WINDOWS FORMS
Este tutorial se trabaja con el entorno de desarrollo de Microsoft Visual Studio .NET
2008, tambin llamado entorno de desarrollo integrado (Integrated Development
Environment, IDE). Este entorno es personalizable y contiene todas las herramientas
para construir programas para Microsoft Windows.
Figura A.1 Pgina de Inicio de Visual Studio 2008.

A.1 Crear un nuevo proyecto Visual Basic .NET (Windows Forms)


Crear una aplicacin Windows Forms en Visual Basic .NET, requiere unos pasos muy
sencillos como son: iniciar un nuevo proyecto Visual Basic .NET, crear la interfaz del
usuario, establecer las propiedades de los objetos, escribir el cdigo, guardar la
aplicacin y ejecutar el proyecto.
Para iniciar un nuevo proyecto desde la pgina de inicio, se pueden seguir estos
pasos:

En la ventana proyectos recientes seleccionar la opcin Crear: link Proyecto

Hacer clic en la opcin Archivo del men y seleccionar Nuevo Proyecto...

Cuando se crea un proyecto por cualquiera de las dos opciones se visualiza la


siguiente ventana:
279

Figura A.2 Ventana Nuevo proyecto Windows Form.

A.2 Elegir plantilla de aplicaciones


Visual Studio .NET ofrece varias plantillas de aplicaciones para soportar el desarrollo
de diferentes tipos de aplicaciones y componentes. Antes de iniciar un nuevo proyecto,
se debe escoger el tipo de plantilla que se va a utilizar. Una plantilla de aplicacin
proporciona archivos de inicio y una estructura de proyecto, adems contiene los
objetos bsicos del proyecto y la configuracin del entorno que se necesita para crear el
tipo de aplicacin que se desea.
Para el ejemplo, como Tipo de proyecto se debe seleccionar Visual Basic Windows, como plantilla Aplicacin de Windows Forms, como Nombre del proyecto
MiProgramaWF. Pulse el botn Aceptar para visualizar el entorno de desarrollo del
proyecto Windows Forms MiProgramaWF.
Figura A.3 Ventana Nuevo proyecto Windows Form.

280

Cuando se selecciona una plantilla de aplicaciones aparece el entorno de


desarrollo, donde encontrar:

Men principal y la barra de herramientas estndar: Proporcionan acceso a


la mayora de comandos que controlan el entorno de programacin de Visual
Studio .NET. Los comandos del men principal funcionan igual que en todas
las aplicaciones basadas en Windows. La barra de herramientas proporciona los
iconos que sirven como acceso a la mayora de comandos estndar de Windows.
Tambin contiene iconos que permiten abrir el explorador de soluciones, la
ventana de propiedades, el cuadro de herramientas y otros elementos
importantes del entorno de desarrollo.

Figura A.4 Men principal y barra de herramientas estndar.

Men Principal

Barra de Herramientas

Cuadro de Herramientas: El cuadro de herramientas contiene diversos


controles que se pueden utilizar para aadir ilustraciones, etiquetas, botones,
cuadros de lista, barras de desplazamiento, mens y formas geomtricas a una
interfaz de usuario. Cada control que se aade a un formulario se convierte en un
objeto de la interfaz de usuario programable en la aplicacin. Estos objetos son
visibles para los usuarios cuando la aplicacin se ejecuta y funcionan como los
objetos estndar de cualquier aplicacin basada en Windows.

Figura A.5 Cuadro de Herramientas.

281

Diseador formulario Windows (Windows Forms): Cuando se inicia un


proyecto en Visual Basic .NET, el Diseador de formulario de Windows
(Windows Forms) se abre en la vista diseo (un formulario tiene vista diseo
cuando se inicia el proyecto y est en modo de ejecucin cuando se ejecuta la
aplicacin), mostrndose el formulario Form1 del proyecto. En dicho
formulario se pueden ubicar los controles u objetos necesarios para la aplicacin
arrastrndolos desde el cuadro de herramientas para crear la interfaz de usuario.
El formulario predeterminado contiene los elementos mnimos utilizados por la
mayora de formularios: una barra de ttulo, un cuadro de control y los botones
minimizar, maximizar y cerrar.

Figura A.6 Formulario Windows.

Explorador de soluciones:
permite visualizar archivos y realizar tareas de
administracin de archivos en una solucin o en un proyecto. Una solucin es un
contenedor para proyectos y elementos de solucin que pueden incluirse en una
aplicacin. Normalmente, una solucin contiene uno o ms proyectos
relacionados. Un proyecto es un contenedor dentro de una solucin que se utiliza
para administrar, generar y depurar lgicamente los elementos del (los) proyecto
(s) que constituyen la aplicacin.

Figura A.7 Ventana Explorador de soluciones.

282

Ventana de propiedades: muestra una lista de las propiedades que facilitan la


configuracin de los valores o propiedades del control seleccionado y se pueden
modificar mientras se crea o se edita la aplicacin. Una propiedad describe una
caracterstica de un objeto, como el tamao, ttulo, color, etc.

Figura A.8 Cuadro de propiedades.

Ventana de depuracin de errores: muestra una lista de los errores que se


generan al realizar modificaciones a los controles o al ejecutar la aplicacin.

Figura A.9 Ventana de lista de errores.

A.3 Crear la interfaz de usuario


Para crear la interfaz de usuario de la aplicacin, en primer lugar se deben ubicar los
controles necesarios en un formulario desde el cuadro de herramientas. Como ejemplo
se crear un programa que permita a un usuario digitar un nmero y al pulsar un botn
se muestre en una cuadrcula la tabla de multiplicacin de dicho nmero. Para este caso
se disear la interfaz de usuario utilizando los siguientes controles: 3 Label, 1
TextBox, 1 Button y 1 DataGridView.
Cuando existen varios controles del mismo tipo, stos se numeran en el mismo
orden en que son colocados (nombre del control ms numero del consecutivo). La
interfaz de usuario del ejemplo ser como muestra la figura a continuacin.
283

Figura A.10 Prepantalla de la interfaz de usuario.

A.4 Establecer las propiedades de los controles


Despus de colocar los controles u objetos a un formulario, se puede establecer sus
propiedades en la ventana Propiedades o en el Editor de cdigo.
Para modificar las propiedades se selecciona el control en el formulario y se
cambia su configuracin en la ventana Propiedades. Para el caso del ejemplo
establezca las siguientes modificaciones en la propiedad correspondiente a cada uno de
los siguientes controles:
Tabla A.1 Propiedades de los controles de la aplicacin MiProgramaWF.

Control
Label1

Label2
Label3
TextBox1
DataGridView1
Button1
Form1

Propiedad
Name
Text
Font - Bold
Name
Text
Name
Text
name
Text
Name
Name
Text
Name
Text

Valor
titulo
Generar una tabla de
multiplicar:
True
txtnumero
Digite numero:
txttabla
La tabla del numero
camponumero
En blanco
tabla
boton
Ver Tabla
formulario
Tablas de multiplicar

La interfaz de usuario con las modificaciones respectivas en las propiedades de


cada control queda como muestra la siguiente figura:

284

Figura A.11 Pantalla final de la interfaz de usuario

A.5 Escribir cdigo


Una vez se hayan establecido las propiedades iniciales del formulario y sus objetos, se
puede agregar el cdigo que se ejecutar en respuesta a un evento especfico de cada
control. Los eventos ocurren cuando se realizan diferentes acciones sobre un control u
objeto. Por ejemplo, el evento Clic de un botn tiene lugar cuando un usuario hace clic
sobre l con el mouse. Por lo general en las aplicaciones es necesario escribir cdigo
para lograr el objetivo de dar solucin al problema planteado por el usuario.
Para el caso del ejemplo, d doble clic en el objeto Button llamado boton y abra
el editor de cdigo, la figura muestra el editor de cdigo del control.
Figura A.12 Editor de cdigo del objeto boton.

Ahora escriba el siguiente cdigo entre Private Sub y End Sub:


With tabla
.Columns.Add("Multiplicando", " Multiplicando ")
.Columns.Add("Multiplicador", " Multiplicador ")
.Columns.Add("Producto", "Producto")
.RowCount = 10
For i As Integer = 0 To .RowCount - 1
.Item(0, i).Value = camponumero.Text
.Item(1, i).Value = i + 1
.Item(2, i).Value = (camponumero.Text * (i + 1))
Next
End With

285

Este cdigo sirve para rellenar el objeto tabla con los respectivos datos.
Utilizando el mtodo Add de la propiedad Columns se le adicionan los nombres
Multiplicando, Multiplicador, Producto en la primera fila y la propiedad RowCount
se le asigna un valor de 10 filas. Con un ciclo For que se ejecutar desde una posicin i
igual a cero (0) hasta el nmero de filas -1 del objeto tabla y por cada fila tres tems. En
la primera columna se imprimir el valor digitado en el objeto camponumero, en la
segunda columna se imprimir el valor i+1, en la tercera columna el producto de
multiplicar el valor del objeto camponumero por i+1.
A.6 Guardar la aplicacin
Una vez finalizada la creacin de la aplicacin, se debe guardar la aplicacin dentro del
entorno de desarrollo para asegurar que todos los cambios realizados se almacenen, esto
se puede realizar de la siguiente forma:

En el men Archivo, haga clic en Guardar todo.

O hacer clic en el icono

de la barra de herramientas.

Cualquier opcin visualizar la siguiente ventana:


Figura A.13 Ventana Guardar proyecto.

Se debe seleccionar la ubicacin en donde se guardar el proyecto. Al pulsar el


botn Guardar se crear una carpeta con el mismo nombre del proyecto. Dentro de
dicha carpeta se crean los archivos:
1. Un archivo de proyecto .vbproj, el cual contiene informacin especfica para una
determinada tarea de programacin.
2. Un archivo de solucin .sln, el cual contiene informacin relacionada con uno o ms
proyectos. Siempre elija el archivo solucin para abrir un proyecto.

A.7 Ejecutar la aplicacin Windows Forms


Para ejecutar el proyecto en el entorno de desarrollo de Visual Basic.NET, se debe
realizar lo siguiente:
1. Haga clic en el botn Iniciar
de la barra de herramientas estndar. Tambin puede
presionar F5 para ejecutar el proyecto. Si la aplicacin se ejecuta sin errores,
aparecer una versin ejecutable del formulario.
2. Cuando termine de ejecutar la aplicacin se debe cerrar el formulario para regresar al
entorno de programacin.

286

Las aplicaciones Windows Forms creadas con Visual Basic .NET tienen la
extensin .exe, que podrn ser ejecutadas en cualquier equipo que tenga instalado
Microsoft Windows. Visual Basic .NET instala de manera automtica los archivos de
soporte, incluyendo las bibliotecas de vnculos dinmicos y archivos de .NET
framework. Visual Studio puede crear dos tipos de archivos ejecutables:
1. Debug: Compilacin de depuracin, se utiliza cuando se prueba y depura un programa
(Default).
2. Release: Versin de edicin, se utiliza cuando se termina el programa siendo sta una
versin optimizada de menor tamao

Si se escribe el nmero 5 en el campo de texto y se pulsa el botn Ver Tabla, se


visualizar la siguiente figura.
Figura A.14 Aplicacin MiProgramaWF ejecutado.

A.8 Cerrar y abrir un proyecto


Para cerrar el proyecto MiProgramaWF o cualquier otro proyecto, en modo diseo se
pueden realizar los siguientes pasos:
1. En el men Archivo, hacer clic en la opcin Cerrar Proyecto.
2. Si desea cerrar el proyecto y salir de Visual Studio, en el men Archivo haga clic en la
opcin Salir.

En cada caso se deben guardar los nuevos cambios que se hayan realizado.
Para volver a abrir la aplicacin MiProgramaWF o cualquier otra aplicacin
existente se debern realizar los siguientes pasos:
1. Abrir Visual Studio .NET.
2. Si en la pantalla inicial de Visual Studio .NET se visualiza el nombre del proyecto que
se desea abrir haga doble clic para abrir la aplicacin. Si por el contrario no se visualiza
la aplicacin en el men Archivo, seleccione Abrir proyecto..., busque la carpeta
MiProgramaWF y seleccione el archivo MiPrograma.sln y pulse la opcin Abrir para
abrir la aplicacin en el entorno de desarrollo de Visual Basic .NET.

287

ANEXO B
Creacin de aplicaciones Web ASP.NET
Este tutorial se trabaja con el entorno de desarrollo de Microsoft Visual Studio .NET
2008.
ASP.NET es un entorno de programacin que se ejecuta en un servidor Web
para generar y administrar pginas Web. Visual Studio 2008 proporcionar el diseador
de formularios Web, un editor, controles y un sistema de depuracin, para facilitar la
creacin de aplicaciones que guardadas en un servidor pueden ser accesadas desde un
explorador, telfonos mviles, etc.
Figura B.1 Pgina de Inicio de Visual Studio 2008.

B.1 Crear un nuevo Sitio Web (ASP.NET)


Crear una aplicacin Web ASP.NET utilizando el lenguaje de programacin Visual
Basic .NET requiere unos pasos muy sencillos como son: iniciar un nuevo sitio Web,
crear la interfaz del usuario, establecer las propiedades de los objetos, escribir el cdigo
y ejecutar el sitio Web.
Como ejemplo se crear un sitio Web que permita a un usuario escoger un tipo
de comida rpida y una bebida en un restaurante y visualizar el valor a pagar por dicho
pedido. Se debe discriminar el valor antes del Impuesto al Valor Agregado ( IVA, 16%)
y el valor total a pagar.

288

Para iniciar un nuevo sitio desde la pgina de inicio, se pueden seguir estos pasos:

En la ventana proyectos recientes seleccionar la opcin Crear: link Sitio Web

Hacer clic en la opcin Archivo del men y seleccionar Nuevo sitio Web...

Cuando se crea un sitio Web por cualquier de las dos opciones se visualiza la
siguiente ventana:
Figura B.2 Ventana Nuevo sitio Web ASP.NET.

B.2 Elegir plantilla de aplicaciones


Una plantilla de aplicacin Web proporciona archivos de inicio y una estructura del sitio
Web, adems contiene los objetos bsicos del sitio y la configuracin del entorno que se
necesita para crear el tipo de aplicacin que se desea.
Para el ejemplo, como plantilla seleccione Sitio Web ASP.NET, como
Ubicacin del sitio escoja Sistema de archivos (tambin es posible obtener una
ubicacin HTTP o FTP), con el botn Examinar puede buscar la carpeta para ubicar el
sitio Web, para este caso guarde el sitio con el nombre MiProgramaWeb. Pulse el
botn Aceptar para visualizar el entorno de desarrollo del sitio Web MiProgramaWeb.

289

Figura B.3 Ventana Nuevo sitio Web.

Cuando se selecciona una plantilla de aplicaciones aparece el formulario Web en


el entorno de desarrollo, donde encontrar:

Men principal y la barra de herramientas estndar: proporcionan acceso a


la mayora de comandos que controlan el entorno de programacin de Visual
Studio .NET. Los comandos del men principal funcionan igual que en todas
las aplicaciones basadas en Windows. La barra de herramientas proporciona los
iconos que sirven como acceso a la mayora de comandos estndar de Windows.
Tambin contiene iconos que permiten abrir el explorador de soluciones, la
ventana de propiedades, el cuadro de herramientas y otros elementos
importantes del entorno de desarrollo.

Figura B.4 Men principal y barra de herramientas estndar.

Men Principal

Barra de Herramientas

Cuadro de Herramientas: el cuadro de herramientas contiene controles


estndar de Windows, datos, navegacin, elementos Web, etc. Cada control que
se aade a un formulario Web se convierte en un objeto de la interfaz de usuario
programable en la aplicacin.

290

Figura B.5 Cuadro de Herramientas.

Diseador de formularios Web: cuando se inicia un sitio Web el diseador de


formularios de Web se abre en vista Diseo (un formulario tiene vista diseo
cundo se inicia el sitio y est en modo de ejecucin cuando se ejecuta la
aplicacin), mostrndose el formulario Web Default.aspx. En la parte inferior
del formulario Web se encuentran las pestaas Diseo, Dividir (divide el
formulario Web en dos partes: una en modo diseo y en la otra mitad se
visualiza el cdigo HTML del formulario Web), Cdigo (muestra el cdigo
HTML), como tambin las pestaas <html>, <body>, <form#form1>, <div>.
En dicho formulario Web se pueden ubicar los controles u objetos necesarios
para la aplicacin arrastrndolos desde el cuadro de herramientas para crear la
interfaz de usuario.

Figura B.6 Formulario Web.

291

Explorador de soluciones:
permite visualizar las carpetas y archivos que se
han creado. Si observa en la carpeta en donde guard el sitio Web se cre la
carpeta App_Data y los archivos Default.aspx, Default.aspx.vb (este archivo
contiene el cdigo fuente que da soporte a la pgina Default.aspx) y Web.xml
(archivo de configuracin xml).

Figura B.7 Ventana Explorador de soluciones.

Ventana de propiedades: muestra una lista de las propiedades que facilitan la


configuracin de los valores o propiedades del control seleccionado y se pueden
modificar mientras se crea o se edita la aplicacin. Una propiedad describe una
caracterstica de un objeto, como el tamao, ttulo, color, etc.

Figura B.8 Cuadro de propiedades.

292

Ventana de depuracin de errores: muestra una lista de los errores que se


generan al realizar modificaciones a los controles o al ejecutar la aplicacin.

Figura B.9 Ventana de lista de errores.

B.3 Crear la interfaz de usuario


Para crear la interfaz de usuario del sitio Web, en primer lugar se deben ubicar los
controles necesarios en el formulario Web desde el cuadro de herramientas. Para el
ejemplo se disear la interfaz de usuario utilizando los siguientes controles: 8 Label, 5
TextBox, 1 ListBox y 4 RadioButton.
Cuando existen varios controles del mismo tipo, stos se numeran en el mismo
orden en que son colocados (nombre del control ms nmero del consecutivo). La
interfaz de usuario del ejemplo ser como muestra la figura a continuacin.
Figura B.10 Preformulario Web de la interfaz de usuario.

293

B.4 Establecer las propiedades de los controles.


Despus de colocar los controles u objetos a un formulario Web, se puede establecer sus
propiedades en la ventana Propiedades o en el Editor de cdigo.
Para modificar las propiedades se selecciona el control en el formulario Web y
se cambia su configuracin en la ventana Propiedades. Para el caso del ejemplo
establezca las siguientes modificaciones a cada uno de los siguientes controles:
Tabla B.1 Propiedades de los controles del sitio Web MiProgramaWeb.
Control
Label1

Label2

Label3

Label4

Label5

Label6

Label7

Label8

TextBox1
TextBox2
TextBox3
TextBox4
TextBox5
ListBox1
RadioButton1

RadioButton2

Propiedad
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
Font - Bold
ID
Text
ID
Text
ID
Text
ID
Text
ID
Text
ID
AutoPostBack
ID
Text
AutoPostBack
GroupName
ID
Text
AutoPostBack
GroupName

Valor
titulo
Comidas Rpidas topo Gigio.
True
txtcomida
Seleccione comida:
True
txtbebida
Seleccione bebida:
True
txtvalorcomida
Valor Comida:
True
txtvalorbebida
Valor Bebida:
True
txtsubtotal
Subtotal:
True
txtiva
I.V.A.:
True
txttotal
Total a Pagar:
True
valorcomida
En blanco
valorbebida
En blanco
subtotal
En blanco
iva
En blanco
total
En blanco
listacomida
true
botongaseosa
Gaseosa
true
bebidas
botonjugo
Jugo
true
bebidas

294

RadioButton3

ID
Text
AutoPostBack

botonlimonada
Limonada
true

RadioButton4

ID
Text
AutoPostBack
GroupName
ID
Title
Nombre del archivo

botoncerveza
Cerveza
true
bebidas
formulario
Comidas Rpidas
Pagina.aspx

Form1
Document
Default.aspx

La interfaz de usuario con las modificaciones respectivas en las propiedades de


cada control queda como se muestra en la siguiente figura:
Figura B.11 Formulario Web final de la interfaz de usuario.

B.5 Escribir cdigo


Una vez se hayan establecido las propiedades inciales del formulario Web y sus
objetos, se puede agregar el cdigo que se ejecutar en respuesta a un evento especfico
de cada control. Los eventos ocurren cuando se realizan diferentes acciones sobre un
control u objeto. Por ejemplo, el evento Clic de un botn tiene lugar cuando un usuario
hace clic sobre l con el mouse. Por lo general en las aplicaciones es necesario escribir
cdigo para lograr el objetivo de dar solucin al problema planteado por el usuario.
a) Seleccione el control ListBox llamado listacomidas, en la ventana de propiedades
busque la propiedad Items, al frente de Coleccin pulse en los tres puntos () para
ver la ventana Editor de la coleccin ListItem:
295

Figura B.12 Formulario Web con el control ListBox seleccionado.

Pulse el botn Agregar del Editor de la coleccin ListItem, busque la propiedad


Text y cmbie el texto por Hamburguesa. Realice los mismos pasos para agregar los
textos: Pizza, Perro caliente, Choriarepa. Por ltimo pulse el botn Aceptar.
Figura B.13 Agregacin de nombres al control ListBox.

b) D doble clic en el objeto ListBox llamado listacomidas, para abrir el editor del
procedimiento listacomida_SelectedIndexChanged y escriba el siguiente cdigo:
If listacomida.SelectedIndex = 0 Then
valorcomida.Text = "5000"
End If

296

If listacomida.SelectedIndex = 1 Then
valorcomida.Text = "3000"
End If
If listacomida.SelectedIndex = 2 Then
valorcomida.Text = "4000"
End If
If listacomida.SelectedIndex = 3 Then
valorcomida.Text = "3500"
End If
subtotal.Text = Val(valorcomida.Text) + Val(valorbebida.Text)
iva.Text = Val(subtotal.Text) * 0.16
total.Text = Val(subtotal.Text) + Val(iva.Text)

En el anterior cdigo se utiliza la estructura de control if para determinar qu


posicin del objeto listacomidas se ha pulsado utilizando la propiedad SelectedIndex.
Dependiendo del index seleccionado se le asignar al objeto valorcomida el valor
correspondiente. Por ltimo se le asign los valores de las operaciones correspondientes
a los objetos subtotal, iva, total por intermedio de su propiedad Text. Se utiliza la
funcin Val () para convertir una cadena de caracteres a entero (recuerde que los objetos
TextBox capturan texto).
c) D doble clic en el objeto RadioButton llamado botongaseosa, para abrir el editor
del procedimiento botongaseosa_CheckedChanged y escriba el siguiente cdigo:
If botongaseosa.Checked Then
valorbebida.Text = "1500"
End If
subtotal.Text = Val(valorcomida.Text) + Val(valorbebida.Text)
iva.Text = Val(subtotal.Text) * 0.16
total.Text = Val(subtotal.Text) + Val(iva.Text)

d) D doble clic en el objeto RadioButton llamado botonjugo, para abrir el editor del
procedimiento botonjugo_CheckedChanged y escriba el siguiente cdigo:
If botonjugo.Checked Then
valorbebida.Text = "2000"
End If
subtotal.Text = Val(valorcomida.Text) + Val(valorbebida.Text)
iva.Text = Val(subtotal.Text) * 0.16
total.Text = Val(subtotal.Text) + Val(iva.Text)

e) D doble clic en el objeto RadioButton llamado botonlimonada, para abrir el


editor del procedimiento botonlimonada_CheckedChanged y escriba el siguiente
cdigo:
If botonlimonada.Checked Then
valorbebida.Text = "1800"
End If
subtotal.Text = Val(valorcomida.Text) + Val(valorbebida.Text)
iva.Text = Val(subtotal.Text) * 0.16
total.Text = Val(subtotal.Text) + Val(iva.Text)

f) D doble clic en el objeto RadioButton llamado botoncerveza, para abrir el editor


del procedimiento botoncerveza_CheckedChanged y escriba el siguiente cdigo:

297

If botoncerveza.Checked Then
valorbebida.Text = "2500"
End If
subtotal.Text = Val(valorcomida.Text) + Val(valorbebida.Text)
iva.Text = Val(subtotal.Text) * 0.16
total.Text = Val(subtotal.Text) + Val(iva.Text)

En los anteriores cdigos se utiliza la estructura de control if para determinar que


objeto RadioButton se selecciona utilizando la propiedad Checked. Dependiendo del
control seleccionado se le asignar al objeto valorbebida el valor correspondiente.
Tambin se actualizan los objetos subtotal, iva y total.
B.6 Ejecutar la aplicacin Web
Para ejecutar el sitio Web en el entorno de desarrollo de Visual Basic.NET, se debe
realizar lo siguiente:
1. Haga clic en el botn Iniciar depuracin de la barra de herramientas estndar.
Tambin puede presionar Ctrl+F5 para ejecutar el sitio Web. Otra forma es la opcin
Iniciar depuracin del men Depurar.
2. Cuando termine de ejecutar la aplicacin se debe cerrar el formulario Web para
regresar al entorno de programacin.

Figura B.14 Ventana de ejecucin de sitio Web MiProgramaWeb.

Cuando se ejecuta el sitio Web se visualizar la ventana de Depuracin no


habilitada. Si se ejecuta Modificar el archivo Web.config para habilitar la
depuracin se mostrar la pgina Web en el explorador seleccionado y esta ventana no
se volver a mostrar al ejecutarse nuevamente el sitio Web; por el contrario, si se
selecciona Ejecutar sin depuracin se mostrar inicialmente una pgina Web en
blanco, la cual deber cerrar para visualizar el sitio Web ejecutado (cada vez que se
ejecute esta opcin se visualizar la ventana de Depuracin no habilitada). Seleccione la
primera opcin para ver la siguiente figura.

298

Figura B.15 Sitio Web MiProgramaWeb ejecutado.

Al seleccionar como comida Hamburguesa y como bebida Limonada, se


visualiza la siguiente figura:
Figura B.16 Sitio Web con comida y bebida seleccionados.

299

B.7 Cerrar y abrir un sitio Web


Para cerrar el sitio Web MiProgramaWeb o cualquier otro sitio web, estando en modo
diseo se pueden realizar los siguientes pasos:
3. En el men Archivo, hacer clic en la opcin Cerrar Proyecto.
4. Si desea cerrar el sitio Web y salir de Visual Studio, en el men Archivo haga clic en
la opcin Salir.

En cada caso se deben guardar los nuevos cambios que se hayan realizado.
Para volver a abrir la aplicacin MiProgramaWeb o cualquier otra aplicacin
existente se debern realizar los siguientes pasos:
1. Abrir Visual Studio .NET.
2. Si en la pantalla inicial de Visual Studio .NET se visualiza el nombre del sitio Web que
se desea abrir haga doble clic para abrir la aplicacin. Si por el contrario, no se
visualiza la aplicacin en el men Archivo, seleccione Abrir sitio Web..., busque la
carpeta MiProgramaWeb y pulse el botn Abrir para abrir la aplicacin Web en el
entorno de desarrollo de Visual Basic .NET.

300

ANEXO C
SQL SERVER
Este tutorial utiliza como base de datos SQL Server 2005 Express.
Dicha base de datos se puede instalar independientemente de la versin de Visual
Studio.
C.1. Conectarse a SQL Server.
Cuando se instala SQL Server, en los programas existe una opcin para conectarse a
dicha base de datos. Seleccione Microsoft SQL Server 2005. Realice los siguientes
pasos:
1. Inicio - > Todos los Programas - > Microsoft SQL Server 2005.
2. SQL Server Management Studio Express.
Figura C.1 Opciones para conectarse a SQL Server.

Al pulsar SQL Server Management Studio Express se visualiza la ventana


Connect to Server.
Figura C.2 Ventana Connect to Server.

Deber digitar lo siguiente:


1. Server Name: Por omisin aparece el nombre del servidor en donde fue
instalado SQL Server.
2. Authenticacion: Por omisin aparece Windows Authentication, la otra opcin
es SQL Server Authentication. Si selecciona SQL Server Authentication, se

301

deber digitar el User Name y el Password creado cuando se realiz la


instalacin de SQL Server.
3. Pulsar el botn Connect.
Se visualizar el entorno de trabajo de Microsoft SQL Server Management
Studio Express.
Figura C.3 Ventana Microsoft SQL Server Management Studio Express.

C.2 Crear una base de datos


En la ventana Object Explorer seleccione la opcin Databases y pulse el botn
derecho del mouse para ver las opciones New Databases, Attach, Restore Databases,
Restore File and FilesGroups y Refresh.
Figura C.4 Opciones de DataBases.

Seleccione la opcin New DataBase para ver la siguiente ventana:

302

Figura C.5 Ventana para crear una nueva base de datos.

Escriba el nombre de la base de datos en la opcin Database name:


(bdlibrovbnet para los ejemplos del libro) y pulse el botn OK para volver a la
ventana de Microsoft SQL Server. D doble clic sobre la carpeta Databases para
desplegar las bases de datos existentes, como se aprecia en la siguiente figura:
Figura C.6 Ventana para crear una nueva base de datos.

D doble clic sobre el nombre de la base de datos bdlibrovbnet para desplegar


los elementos que fueron creados. Se obtendr la siguiente figura:

303

Figura C.7 Base de datos bdlibrovbnet con sus elementos creados inicialmente.

C.3 Crear tablas en la base de datos


Para crear tablas en la base de datos seleccione en cualquiera de las dos ventanas la
carpeta Tables y d clic derecho para visualizar las opciones: New Tables, Filter y
Refresh.
Figura C.8 Opciones de la carpeta Tables.

304

Seleccione New Table para ver la ventana de diseo de la tabla, como se aprecia
en la siguiente figura:
Figura C.9 Ventana de diseo de una tabla.

Para agregar los campos a la tabla en Column Name escriba nit, en Data Type
seleccione nvarchar(50) (campo alfanumrico).
Figura C.10 Ventana con el campo nit creado.

Realice los mismos pasos para crear los campos: empresa, representante,
direccion, telefono, ciudad (todos con el mismo tipo de datos nvarchar(50)). Por
305

ltimo seleccione el campo nit y pulse el icono para crear la clave primaria (
figura quedar:

), la

Figura C.11 Ventana con los campos de la tabla y nit como llave primaria.

Ahora se debe guardar la tabla, pulse el signo


cambios.

para visualizar la ventana de

Figura C.12 Ventana de cambio de una tabla.

Pulse el botn Yes para obtener la ventana para escoger el nombre Choose
Name.
306

Figura C.13 Ventana para escribir el nombre de la tabla creada.

Escriba como nombre de la tabla clientes y pulse el botn OK. Para trabajar con
algunos de los ejercicios planteados en el libro, cree las tablas pedidos, productos y
ventas con las estructuras que se muestran a continuacin:
Figura C.14 Estructura tabla pedidos.

Figura C.15 Estructura tabla productos.

307

Figura C.16 Estructura tabla ventas.

Al finalizar de crear las tablas, la estructura de la base de datos con las tablas
quedara como se aprecia en la siguiente figura:
Figura C.17 Estructura de la base de datos.

Cuando se selecciona una tabla y se da clic derecho, se visualiza la ventana con


las diferentes opciones que se pueden realizar como son:

New Table: para crear una nueva tabla.


Modify: permite modificar la estructura de una tabla que previamente se haba
creado.
Open Table: para abrir una ventana de edicin para insertar o visualizar los
datos de una tabla.
Script Table as: para crear, borrar, alterar, seleccionar, insertar, actualizar,
ejecutar una consulta, un archivo o una imagen.
View Dependencies: para visualizar las dependencias (relaciones) de una tabla.
Rename: para renombrar una tabla.
Delete: para eliminar una tabla.
Refresh: para refrescar o actualizar una tabla.
Properties: para visualizar las propiedades de una tabla.
308

Figura C.18 Opciones para la manipulacin de una tabla.

Seleccione la tabla clientes y d clic derecho y escoja la opcin Open Table


para insertar informacin a la tabla.
Figura C.19 Ventana para insertar datos a la tabla clientes.

Inserte la informacin de acuerdo con la siguiente figura:


Figura C.20 Ventana con datos insertados en la tabla clientes.

309

En este momento se podr realizar instrucciones SQL para manipular la tabla


clientes. Al pulsarse el icono
(Show SQL Pane) se visualizar un panel para digitar
instrucciones SQL. Por omisin se muestra la siguiente ventana:
Figura C.21 Ventana al seleccionar el icono Show SQL Pane.

Si se escribe la instruccin SQL Select * from clientes where nit>400 y se


pulsa el icono de verificacin de sintaxis de instrucciones SQL
se visualizar la siguiente ventana:
Figura C.22 Ventana de verificacin de sintaxis SQL.

Al pulsar el botn Aceptar se mostrar la figura:

310

(Verify SQL sintax)

Figura C.23 Ventana al Aceptar la verificacin de sintaxis SQL.

Para ejecutar la instruccin SQL de deber dar clic en el icono


SQL), se ver la siguiente figura:

(Execute

Figura C.24 Ventana con la instruccin SQl ejecutada.

Ahora se debern llenar con datos las tablas pedidos, productos y ventas de
acuerdo con las siguientes figuras:

311

Figura C.25 Tabla pedidos con datos insertados.

Figura C.26 Tabla productos con datos insertados.

Figura C.27 Tabla ventas con datos insertados.

C.4 Crear Diagramas de una base de datos


Para crear un diagrama de una base datos seleccione Database Diagrams de la base de
datos bdlibrovbnet, d clic derecho y seleccione la opcin New Database Diagram.
Para ver la ventana de adicin de tablas:

312

Figura C.28 Ventana Add Table de la opcin New Database Diagram.

Seleccione una tabla y pulse el botn Add. Realice esta misma operacin con
cada una de las tablas restantes. Al terminar, pulse el botn Close para observar la
siguiente figura:
Figura C.29 Ventana Database Diagram con las tablas adicionadas.

Para crear la relaciones entre las tablas seleccione el campo nit de la tabla
cliente, d clic en el mouse y mantngalo pulsado y arrstrelo hacia el campo nit de la
tabla pedidos, suelte el mouse para ver la ventana Tables and Columns.

313

Figura C.30 Ventana Tables and Columns.

En el campo Relationship name escriba el nombre de la relacin. Seleccione


como llave primaria (Primary key table) la tabla clientes y el campo nit, como llave
secundaria (Foreign key table) la tabla pedidos y el campo nit. Pulse el botn OK para
visualizar la ventana Foreign Key Relationship.
Figura C.31 Ventana Foreign key Relationship.

En esta ventana se visualizan todas las caractersticas de la relacin. Pulse el


botn OK para terminar. Realice las dems relaciones hasta obtener la siguiente figura:

314

Fgura C.32 Ventana de diagramas con las relaciones entre tablas.

Ahora se debe guardar el diagrama, pulse el signo


de cambios en un diagrama.

para visualizar la ventana

Figura C.33 Ventana de cambios en un diagrama de la base de datos.

Pulse el botn Yes para obtener la ventana para escoger el nombre Choose
Name.
Figura C.34 Ventana para escribir el nombre del diagrama creado.

315

Escriba como nombre del diagrama relaciontablas y pulse el botn OK. Se


visualizar la ventana para guardar los cambios realizados.
Figura C.35 Ventana para guardar los cambios realizados en la base de datos.

Al pulsarse el botn Yes se guardarn los cambios. Seleccionado el diagrama


creado y dar clic derecho se visualizar una ventana donde podr realizar las siguientes
Tareas: New Database Diagrams (crear un nuevo diagrama), Modify (modificar un
diagrama), Rename (renombrar un diagrama), Delete (eliminar un diagrama), Refresh (
refrescar un diagrama).
Figura C.36 Ventana para manipulacin de los diagramas.

C.5 Crear una vista


Una vista es un espejo de cierta informacin que contiene una base de datos. Para crear
una vista de una base datos seleccione View de la base de datos bdlibrovbnet, d clic
derecho y seleccione la opcin New View. Para ver la ventana de adicin de vistas:
316

Figura C.37 Ventana para adicionar tablas a una vista.

Adicione las tablas clientes y pedidos. Al terminar pulse el botn Close para
visualizar la siguiente figura:
Figura C.38 Ventana de la vista con las tablas clientes pedidos.

Seleccione los campos que desea ver en la vista. D clic en el icono


(Execute SQL), para ver la ejecucin de la vista:

317

Figura C.39 Ventana de ejecucin de la vista creada.

Ahora se debe guardar la vista creada, pulse el signo


ventana de cambios en una vista.

para visualizar la

Figura C.40 Ventana de cambios en una vista.

Pulse el botn Yes para obtener la ventana para escoger el nombre Choose
Name.
Figura C.41 Ventana para escribir el nombre de la vista creada.

318

Escriba como nombre de la vista vista_clientes_pedidos y pulse el botn OK.


Se visualizar la siguiente figura:
Figura C.42 Ventana con la vista guardada.

319

ANEXO D
ORACLE DATABASE 10G EXPRESS
D.1 Instalacin
De la siguiente direccin:
http://www.oracle.com/technology/software/products/database/xe/index.html
descargue el Oracle Database 10g Express o una versin superior, el cual ser un
archivo comprimido llamado OracleXEUniv.rar; una vez hecho esto, d doble clic en
el siguiente icono:
Figura D.1 Archivo OracleXEUniv comprimido.

Para descomprimir el archivo .rar, d doble clic sobre ste. Se mostrar la


siguiente ventana:
Figura D.2 Ventana para descomprimir el archivo OracleXEUniv.

En la carpeta en donde se descomprima el archivo debe quedar guardado el


siguiente archivo:
Figura D.3 Archivo ejecutable OracleXEUniv.

320

Al dar doble clic sobre ste, se inicializar el asistente de instalacin de Oracle


Database 10g Express, como muestra la siguiente figura:
Figura D.4 Asistente InstallShield.

Al terminar la extraccin de los archivos necesarios para la instalacin de


ORACLE se visualizar la siguiente ventana:
Figura D.5 Asistente de instalacin Oracle Database 10g Express Edition.

Pulse el botn Siguiente> para visualizar la ventana de contrato de licencia:

321

Figura D.6 Ventana del acuerdo de licencia Oracle Database 10g Express Edition.

En esta ventana seleccione la opcin Acepto los trminos del acuerdo de


licencia y pulse el botn Siguiente> para visualizar la ventana de Seleccionar
Ubicacin de Destino.
Figura D.7 Ventana de ubicacin Oracle Database 10g Express Edition.

En esta pantalla se especfica el directorio en el cual desea instalar ORACLE.


Se aconseja que instale el software en el directorio que sugiere por default el instalador
(c:\oraclexe), despus pulse el botn Siguiente> para visualizar la ventana Especficar
contraseas de Bases de Datos.

322

Figura D.8 Ventana de contraseas Oracle Database 10g Express Edition.

En esta ventana digite la contrasea que considere. Para esta instalacin se digit
la contrasea 123456. Pulse el botn Siguiente> para visualizar la ventana Resumen.
Figura D.9 Ventana Resumen de instalacin Oracle Database 10g Express Edition.

Revise cada uno de los valores y pulse el botn Instalar, para visualizar la
ventana de Estado de la Instalacin.

323

Figura D.10 Ventana Estado de instalacin Oracle Database 10g Express Edition.

Al finalizar el proceso se visualizar la ventana Finalizacin de la instalacin,


donde por default est habilitada la opcin Iniciar la pagina inicial de la base de
datos.
Figura D.11 Finalizacin instalacin de Oracle Database 10g Express Edition.

Pulse el botn Terminar para visualizar la pantalla de inicio de ORACLE


Database Express Edition.
Figura D.12 Ventana para conectarse a Oracle Database 10g Express Edition.

324

Para realizar la conexin a la base de datos es necesario digitar el usuario y la


contrasea. Por default el nombre de usuario es system, y la contrasea ser aquella que
fue digitada en la ventana Especficar contraseas de Bases de Datos. La siguiente es
la pantalla de inicio de ORACLE.
Figura D.13 Ventana inicial de Oracle Database 10g Express Edition.

D.2 Creacin de una tabla en la base de datos con usuario system


Para crear una tabla en la base de datos es necesario seleccionar el objeto explorador
de objetos y escoger la opcin Crear y all elegir Tablas.
Figura D.14 Ventana con la opcin crear tablas en Oracle Database 10g.

325

Para visualizar la siguiente ventana:


Figura D.15 Ventana inicial para crear una tabla en Oracle Database 10g.

Aqu seleccione la opcin Crear, la cual est a la derecha en la parte superior de


la ventana, esto con el fin de visualizar la siguiente ventana:
Figura D.16 Ventana seleccin del objeto Tabla.

Elija la opcin Tabla para visualizar la ventana en donde se dar el nombre a la


tabla y se digitarn los campos que contendr la tabla. En el nombre de la tabla escriba
clientes y los nombres de los campos o nombres de las columnas sern:

326

Figura D.17 Estructura tabla clientes.


Nombre de la columna
nit
representante
razonsocial
direccion
telefono
ciudad
credito

Tipo
Varchar2
Varchar2
Varchar2
Varchar2
Varchar2
Varchar2
Number

La ventana debera quedar de la siguiente manera:


Figura D.18 Ventana de campos de la tabla clientes.

Al terminar pulse el botn Siguiente> para crear la clave primaria, este paso
visualizar la siguiente ventana:
Figura D.19 Ventana de creacin de clave primaria.

327

Aqu en la opcin clave primaria seleccione Sin rellenar, el nombre de la


restriccin de la clave primaria es colocada por default este caso ser CLIENTES_PK,
la clave primaria ser NIT (VARCHAR2) y no se debe seleccionar clave primaria
compuesta. Por ltimo pulse el botn Siguiente> para visualizar la ventana de Clave
Ajena.
Figura D.20 Ventana de creacin de clave ajena.

Para el ejemplo no se hace necesario crear una clave ajena, por lo tanto pulse el
botn Siguiente> para visualizar la ventana de restricciones.
Figura D.21 Ventana de restricciones de una tabla.

328

Para el ejemplo tampoco se hace necesario crear restricciones a la tabla, por


consiguiente pulse el botn Terminar para visualizar la ventana de Confirmar.
Figura D.22 Ventana de confirmacin de creacin de una tabla.

Pulse el botn Crear para visualizar la ventana en donde se mostrar el nombre


de la tabla como las respectivas columnas que contiene dicha tabla.
Figura D.23 Ventana con la creacin de la tabla.

329

El siguiente paso es insertarle informacin a la tabla, seleccionando la opcin


Datos, se mostrar el mensaje esta tabla no contiene ningn dato, ya que hasta el
momento no se le ha ingresado ningn dato.
Figura D.24 Ventana para insertar datos en una tabla.

Para insertar datos seleccione la opcin Insertar Fila, la cual mostrar la


siguiente ventana:
Figura D.25 Insercin de datos en una tabla.

330

Aqu rellene con informacin cada uno de los campos de la tabla. Al terminar de
digitar informacin en el ltimo campo de la tabla puede seleccionar el botn Crear o
Crear y Crear Otro. El botn Crear y Crear Otro le permitir guardar el registro
digitado y limpiar los campos para ingresar nueva informacin en otro registro. El botn
Crear guarda el ltimo registro digitado y visualizar la tabla con la informacin que
contenga dicha tabla.
Figura D.26 Ventana con los datos insertados en la tabla clientes.

Por ltimo para salir de la base de datos seleccione la opcin Desconectarse,


para visualizar la siguiente pantalla:
Figura D.27 Ventana de desconexin de Oracle.

331

NDICE
Add, 110
ADO.NET, 52
ALL, 46
ALTER, 45, 48
AND, 46
Append, 24
AppendText, 11, 15
ASP.NET, 162, 175
AVG, 47
Bases de Datos, 44
BETWEEN, 46
BindingContext, 81
catch, 14
clear, 80
close, 14
columnas, 44
Command, 52
Common Language Runtime, 8
comparacin, 46
Conectarse a SQL Server, 299
Conexin a Bases de Datos, 52
Connection, 52
ContentType, 165
Copy, 11
COUNT, 47
Create, 11
CREATE, 45
CREATE DATABASE, 47
CreateText, 11
Cuadro de Herramientas, 279, 288
Data Source, 55, 177
DataAdapter, 52
Database, 55, 177
DataMember, 70
Dataset, 52
DataSource, 70, 145
DataTable, 52
DataView, 52
Default.aspx, 289
DefaultView, 145
Delete, 11
DELETE, 45, 50
Diseador formularios Web, 289
DLL, 45
DML, 45
DROP, 45
DROP DATABASE, 48
DROP TABLE, 48
El explorador de soluciones, 280, 290
Elegir base de datos, 66
Elegir proveedor base de datos, 66
EOF, 172
Exists, 11
Explorador de servidores, 63
filas, 44
File, 11
FileClose, 24

FileContent, 165
FileDialog, 20
FileGet, 29
FileGetObject, 29
FileName, 22
FileOpen, 24
FilePut, 29
FilePutObject, 29
fill, 56, 177, 181
FirstDisplayedScrollingRowIndex, 84
Font - Bold, 179
Framework, 9
FROM, 45
FullRowSelect), 137
GetCreateTime, 11
GROUP, 45
HAVING, 45
HeaderText, 40
HttpServerUtility, 168
IN, 46
INNER JOIN, 51
Input, 24
INSERT, 45, 48
Integrated, 277
Integrated Security, 55, 177
java.io, 11, 163
Just-In-Time, 9
La biblioteca de clases base, 8
Lenguaje de Consulta Estructurado, 44
LIKE, 46
LineInput, 27, 172
MapPath, 165
MAX, 47
Men principal, 279, 288
Microsoft .NET, 8
Microsoft Intermediate Language, 8
MIN, 47
Modificar la cadena de conexin:, 66
Move, 11
movefirst, 84
movelast, 85
movenext, 84
moveprevious, 85
NET, 8
NOT, 46
OleDataAdapter, 52
OleDbCommand, 52
OleDbConnection, 52
Open, 11
OpenFileDialog, 20
OpenMode.Binary, 29
OpenMode.OutPut, 26, 172
OR, 46
Oracle Database 10g Express, 318
OracleCommand, 52
OracleConnection, 52
OracleDataAdapter, 52

332

ORDER, 45
Orientada a objetos, 44
Output, 24
Persist Security Info, 62
Position, 81
PostedFile, 165
Probar la conexin, 66
Provider, 59
ReadByte, 165
readToEnd, 14
Relacionales, 44
Replace, 11
RowFilter, 145
SaveFileDialog, 20
SELECT, 45, 49
SelectedItem, 107
SelectedValue, 145
SQL Server, 299
SqlCommand, 52
SqlConnection, 52
SqlDataAdapter, 52
Stream, 11

StreamReader, 14, 17
StreamWriter, 14, 17
SUM, 47
System.Data.OleDb, 58, 62
System.Data.SqlClient, 55, 177, 180
System.IO, 11, 163
Try-Catch, 14
UPDATE, 45, 50
User, 62
ValueMember, 145
Ventana de depuracin de errores, 291
Ventana de propiedades, 290
Visual Basic .NET, 8
Visual Basic.NET, 8
WHERE, 45
Windows Authentication, 299
Windows Form, 277
Word.Application, 40
Word.Documents.Add, 40
write, 14
writeLine, 15

333

BIBLIOGRAFA

CEBALLOS, Javier. MICROSOFT VISUAL BASIC .NET LENGUAJE Y


APLICACIONES, Mexico, Editorial Alfaomega Ra-Ma, 2a edicin, 2007.

HARWRYSZKIEWYCZ, I T. ANLISIS Y DISEO DE BASE DE DATOS,


Mxico, Editorial Megabyte, Noriega Editores. 1994.

JAMSA, Kris. SUPERUTILIDADES PARA VISUAL BASIC .NE, Madrid,


Editorial Mc Graw Hill, 1a. edicin, 2003.

INFOGRAFA

monografias.com/trabajos5/tipbases/tipbases.shtml

monografias.com/trabajos5/basede/basede.shtml

inei.gob.pe/cpi/bancopub/libfree/lib607/cap01.htmet.gob.pe

elizabethpeguero.8m.com/enza.htm

Learnthenet.com/spanish/glossary/database.htmipyme.org/sie/

http://www.elquintero.net/Manuales.aspx?Cat=2&SubCat=6&jscript=true

http://www.willydev.net/descargas/Cursos/vbnet/index.html

http://www.dotnetspider.com/tutorials/AspNet-Tutorials.aspx

http://www.programacionfacil.com/visual_basic_net/start

http://www.programacion.com/asp/articulo/datosaspnet/

http://www.es-asp.net/tutoriales-asp-net/tutorial-61-81/efectuando-acceso-adatos.aspx.

http://www.microsoft.com/spanish/MSDN/estudiantes/desarrollo/lenguajes/v
studio.mspx
http://www.programacionfacil.com/java_windows/start
http://www.bitarray.info/2009/02/ado-net-crear-una-conexion-a-una-basede-datos-access-usando-el-asistente/
http://www.onglasses.net//default.aspx?articuloid=261
http://www.onglasses.net//default.aspx?articuloid=199
http://www.onglasses.net//default.aspx?articuloid=291
http://www.programar.net/directory/default.aspx?fid=3
http://www.elguille.info/colabora/NET2005/FernandoLuque_MaestroDetalle
Simple.htm
http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/in
tlkb/spain/E308/0/56.asp
http://www.elguille.info/colabora/puntoNET/yosall_datagrid.htm

334

You might also like