libro manejo de archivos visual basic net 2010

334

Click here to load reader

description

manejo de archivos de texto y binarios al igual que enlaces a bases de datos y mas

Transcript of libro manejo de archivos visual basic net 2010

Page 1: libro manejo de archivos visual basic net 2010

1

Manejo de datos con

Visual Basic y ASP .NET

Carlos Alberto Vanegas

Ingeniero de Sistemas

Especialista en Ingeniería de Software

Maestría en Ingeniería de Sistemas

Profesor cátedra, Universidad Libre

Profesor, Universidad Distrital Francisco José de Caldas

Bogotá agosto 2010

Page 2: libro manejo de archivos visual basic net 2010

2

Page 3: libro manejo de archivos visual basic net 2010

3

Contenido

PRÓLOGO .................................................................................................................................... 6

INTRODUCCIÓN........................................................................................................................... 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 Cláusulas ............................................................................................................... 45 2.2.3 Operadores lógicos................................................................................................ 46 2.2.4 Operadores de Comparación ................................................................................ 46 2.2.5 Funciones de agregado ......................................................................................... 46 2.3 Sentencias Básicas 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 Conexión a bases de datos ....................................................................................... 52 2.5 Ejemplos de conexión a bases de datos ................................................................... 52 2.5.1 Conexión a una base de datos de SQL Server ..................................................... 52 2.5.2 Conexión a una base de datos de ACCESS ......................................................... 56 2.5.3 Conexión a una base de datos de ORACLE con código ...................................... 59 2.6 Conexión a una bases de datos con el Explorador de servidores ............................ 63 2.6.1 Conexión a SQL Server con el Explorador de servidores ..................................... 63 2.7 Ejercicios de conexión 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 cuadrícula y botones ............................................................. 82 3.1.2 Formulario con una cuadrícula y un control BindingNavigator .............................. 85 3.2 Ejercicios de desplazamiento por los registros de una tabla ..................................... 92

Page 4: libro manejo de archivos visual basic net 2010

4

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 específico .......................................................... 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 relación de tablas de una base de datos ............................................ 132 5.1.1 Visualizar registros de tablas relacionadas ......................................................... 132 5.1.2 Relación de tablas utilizando dos DataGridView ................................................. 135 5.1.3 Relación de tablas utilizando ComboBox ............................................................ 138 5.1.4 Reporte con tablas relacionadas ......................................................................... 147 5.2 Ejercicios de relación 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 manipulación de bases de datos con ASP.NET ................................. 176 7.1.1 Pagina Web con los campos de una tabla .......................................................... 176 7.1.2 Conexión a una base de datos desde un Formulario Web ................................. 180 7.1.3 Conexión a SQL Server con el control DetailsView ............................................ 183 7.1.4 Página Web con desplazamiento de registros .................................................... 192 7.1.5 Página Web para insertar registros en una tabla ................................................ 200 7.1.6 Pagina Web para eliminar registros de una tabla ............................................... 210 7.1.7 Página Web para modificar registros .................................................................. 215 7.1.8 Página 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 relación entre tablas de una base de datos con ASP.NET ................ 232 8.1.1 Relación de dos tablas con DropDownList y GridView ....................................... 232 8.1.2 Relación de tablas utilizando GridView y FormView ........................................... 246 8.1.3 Página Web con tres tablas relacionadas ........................................................... 261 8.2 Ejercicios relación de tablas con ASP.NET ............................................................. 278

ANEXO A CREACIÓN 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 código ............................................................................................................ 285 A.6 Guardar la aplicación ................................................................................................. 286 A.7 Ejecutar la aplicación Windows Forms ...................................................................... 286 A.8 Cerrar y abrir un proyecto .......................................................................................... 287

ANEXO B CREACIÓN DE APLICACIONES WEB ASP.NET ................................................... 288

B.1 Crear un nuevo Sitio Web (ASP.NET) ...................................................................... 288

Page 5: libro manejo de archivos visual basic net 2010

5

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 código ............................................................................................................ 295 B.6 Ejecutar la aplicación 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 Instalación .................................................................................................................. 320 D.2 Creación de una tabla en la base de datos con usuario system ............................... 325

ÍNDICE ...................................................................................................................................... 332

BIBLIOGRAFÍA.......................................................................................................................... 334

INFOGRAFÍA ............................................................................................................................. 334

Page 6: libro manejo de archivos visual basic net 2010

6

PRÓLOGO

Manejo de datos con Visual Basic y ASP .NET proporciona los elementos necesarios

para el manejo de datos desde el entorno del lenguaje de Programación Visual Basic

.NET con aplicaciones Windows Forms y ASP. Este libro ha sido pensado para todos

aquellos que estén interesados en conocer cómo se puede guardar o recuperar

información desde archivos de texto plano, importar o exportar desde Visual Basic

.NET datos a otros programas como Excel, Word, etc... Además realizar la conexión a

diferentes bases de datos, desplazarse entre los registros de una tabla, realizar

operaciones entre tablas y la relación de éstas. El material didáctico del libro se basa en

el aprendizaje guiado por la conceptualización de cada tema, la realización de ejemplos

prácticos explicados y con gráficos 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 mayoría de los ejemplos también 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

programación Visual Basic en el entorno .NET, es decir, en este libro se supone que el

lector tiene conocimiento sobre los conceptos básicos de programación 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). Además, que tenga conocimientos

sobre programación orientada a objetos. También es recomendable tener nociones

concernientes al lenguaje estructurado de consulta SQL y HTML. Por otro lado, es

indispensable que tenga la conceptualización teórica y ojalá práctica de bases de datos.

Capítulos del libro

Manejo de datos con Visual Basic y ASP .NET contiene 8 capítulos y 4 anexos

distribuidos de la siguiente forma:

Capítulo 1, Manejo de Archivos: Se conceptualiza sobre las clases File,

StreamWriter, StreamReader, los controles OpenFileDialog y

SaveFileDialog, como también los conceptos de archivos secuenciales y

binarios. Además, cómo importar y exportar datos. Todo esto apoyado con

ejemplos explicados sobre cada tema.

Capítulo 2, Bases de datos: Se trabajan los conceptos básicos de bases de

datos, así como también se realiza una descripción del lenguaje estructurado

de consulta SQL. Además se realizan ejemplos de sentencias básicas de

SQL. Por otro lado, se desarrollan ejemplos para obtener la conexión a las

bases de datos SQL Server, Access y Oracle.

Capítulo 3, Desplazamiento por los registros de una tabla: Básicamente

lo que se realiza en este capítulo son diversos ejemplos que permiten el

desplazamiento entre los registros de una tabla perteneciente a una base de

datos.

Page 7: libro manejo de archivos visual basic net 2010

7

Capítulo 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 operación es ilustrada con ejemplos debidamente

explicados.

Capítulo 5, Manejo de las relaciones de tablas en una base de datos:

Aquí se conceptualiza y se crean ejemplos sobre la relación de tablas de una

base de datos utilizando diferentes controles que ofrece Visual Basic .NET,

así como la creación de reportes con tablas relacionadas.

Capítulo 6, Manejo de Archivos con ASP.NET: Se conceptualiza sobre

ASP. NET, como también se crean diversos ejemplos de escritura y lectura

de archivos de texto plano en una aplicación Web.

Capítulo 7, Bases de datos con ASP.NET: Se diseñan ejemplos

ilustrativos sobre la operación y manipulación de los registros de una tabla

utilizando una aplicación Web. Con los ejemplos se puede verificar la

estructura de una tabla, la conexión a una base de datos con distintos

controles, el desplazamiento de registros y las operaciones de inserción,

eliminación, modificación de registros, como también la creación de

reportes.

Capítulo 8, Manejo de tablas relacionadas con ASP.NET: En este

capítulo se diseñaron ejemplos que permiten obtener la relación entre tablas

en aplicaciones Web utilizando diferentes controles de Visual Basic. NET.

Anexo A: Se explica en forma breve cómo se crean proyectos Windows

Forms, el diseño de la interfaz de usuario, la modificación de los controles

del proyecto, la escritura de código, así como guardar y ejecutar un proyecto

Windows Forms. Además, cómo cerrar y/o abrir un proyecto Windows

Forms.

Anexo B: Se explica cómo se crean nuevos sitios Web, el diseño de la

interfaz de usuario, la modificación de los controles del sitio Web, la

escritura de código y la ejecución de un sitio Web. Además, cómo cerrar y/o

abrir un sitio Web.

Anexo C: Se explica cómo se realiza la conexión a SQL Server, así como la

creación de una base de datos, la creación de tablas, diagramas y vistas

dentro de la base de datos.

Anexo D: En este anexo se explica cómo se realiza la instalación de la base

de datos Oracle Database 10g Express Edition; también, cómo se crea e

insertan datos en una tabla de dicha base de datos.

Como apoyo complementario a esta publicación se ha incluido un CD que

contiene cada uno de los capítulos del libro, los anexos explicativos del software que se

utilizó, el código fuente de todos los ejemplos mostrados en el libro por capítulo, así

como el software utilizado y otros aspectos de interés. Además se incluye el documento

en pdf.

Si al insertar el CD no se ejecuta automáticamente, el usuario deberá abrir el

archivo inicio.html que se encuentra en el directorio raíz del CD. Una vez abierto, se

podrá ver la página de inicio; pulse la imagen “Manejo de datos con Visual Basic y

ASP.NET”, se visualizará la página principal donde encontrará los vínculos para cada

capítulo, los anexos, el software, los archivos con el código fuente y el documento del

libro.

Page 8: libro manejo de archivos visual basic net 2010

8

INTRODUCCIÓN

Visual Basic .NET (VB.NET) es una versión de Visual Basic enfocada al desarrollo de

aplicaciones .NET, e implementada sobre el Framework.NET (más adelante se explica

este tema). Dicho lenguaje de programación es orientado a objetos, donde es posible la

creación de clases que pueden derivarse de otras mediante herencia, la sobrecarga de

métodos, el control estructurado de excepciones o la creación de aplicaciones con

múltiples hilos de ejecución, además de contar con la extensa librería 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 envío de datos mediante

documentos XML1 y la generación 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 también 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 ejecución, compilación, depuración y

desarrollo de aplicaciones. Los diferentes lenguajes de programación de la plataforma

comparten el mismo entorno, normas, reglas y librerías de Microsoft .NET Framework.

La plataforma .NET proporciona software que permite conectar sistemas, información,

dispositivos y usuarios distintos de un modo más unificado y personalizado. Incorpora

servicios Web XML como medio para permitir la interoperabilidad entre tecnologías

diferentes. También proporciona a los desarrolladores de software las herramientas y la

tecnología para crear rápida y eficazmente soluciones de negocio que abarcan múltiples

aplicaciones y múltiples dispositivos cliente entre diversas organizaciones, además

permite a los usuarios controlar qué información, cómo y cuándo se les entrega. Sus

componentes de trabajo son:

El conjunto de lenguajes de programación: además del Visual Basic, la

plataforma .NET puede trabajar los lenguajes de programación C++, C#, J#

entre otros.

La biblioteca de clases base o BCL: maneja las operaciones básicas involucradas

en el desarrollo de aplicaciones, algunas operaciones son: interacción con

dispositivos periféricos, manejo de datos, administración de memoria,

administración de componentes Web, herramientas graficas, operaciones

matemáticas, generación de código, etc. La BCL se clasifica en: .NET, Windows

Forms, ASP.NET, ADO.NET.

El entorno común para ejecución de lenguajes o CLR (Common Language

Runtime) es el entorno de ejecución en donde se cargan las aplicaciones

desarrolladas en los diferentes lenguajes. Esta herramienta compila el código

fuente de los lenguajes soportados por .NET en un código intermedio (Microsoft

Intermediate Language MSIL o CIL2). Para generarlo, el compilador se basa en

1 XML es el estándar de Extensible Markup Language. XML no es más que un conjunto de reglas para

definir etiquetas semánticas 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.

Page 9: libro manejo de archivos visual basic net 2010

9

la específicación CLS (Common Language Specification) que determina las

reglas necesarias para crear el código MSIL compatible con el CLR. Además,

para ejecutarse necesita un compilador JIT3 (Just-In-Time) el cual genera el

código máquina4 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 programación diseñados para

simplificar el desarrollo de aplicaciones sobre el entorno distribuido de Internet. El

diseño de .NET Framework está enfocado a cumplir los objetivos siguientes:

Proporcionar un entorno coherente de programación orientada a objetos, en el

que el código de los objetos se pueda almacenar y ejecutar en forma local pero

distribuida en Internet o ejecutar en forma remota.

Proporcionar un entorno de ejecución de código que reduzca lo máximo posible

la implementación de software y los conflictos de versiones.

Ofrecer un entorno de ejecución de código que fomente la ejecución segura del

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

plena confianza.

Proporcionar un entorno de ejecución de código que elimine los problemas de

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

intérpretes 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 ejecución se puede

considerar como un agente que administra el código en tiempo de ejecución y

proporciona servicios centrales, como la administración de memoria, la administración

de subprocesos y la interacción remota, al tiempo que aplica una seguridad estricta a los

tipos y otras formas de específicación del código que fomentan su seguridad y solidez.

De hecho, el concepto de administración de código es un principio básico del motor en

tiempo de ejecución. El código destinado al motor en tiempo de ejecución se denomina

código administrado, a diferencia del resto de código, que se conoce como código no

administrado. La biblioteca de clases, el otro componente principal de .NET

Framework, es una completa colección orientada a objetos de tipos reutilizables que se

pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales

herramientas de interfaz gráfica de usuario (GUI) o de línea de comandos hasta las

3 Técnica para mejorar el rendimiento de sistemas de programación que compilan a bytecode, consistente

en traducir el bytecode a código máquina nativo en tiempo de ejecución. 4 Sistema de códigos directamente interpretable por un circuito microprogramable, como el

microprocesador de un computador o el microcontrolador de un autómata (un PLC). Este lenguaje está

compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina.

Page 10: libro manejo de archivos visual basic net 2010

10

aplicaciones basadas en las innovacíones más recientes proporcionadas por ASP.NET,

como los formularios Web Forms y los servicios Web XML.

En la ilustración siguiente se muestra la relación de Common Language Runtime y

la biblioteca de clases con las aplicaciones y el sistema en su conjunto.

.NET Framework en contexto.

Page 11: libro manejo de archivos visual basic net 2010

11

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 magnéticos, ópticos y cintas magnéticas.

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,

además, de clases para las operaciones de rutas de acceso y la manipulación 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. También con la clase File

se puede obtener y definir atributos del archivo o información relacionada con la hora y

fecha de creación, 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 abstracción de una secuencia de bytes, como un archivo, un dispositivo de

entrada/salida, un canal de comunicación interprocesos o un socket TCP/IP. La clase

Stream y sus clases derivadas proporcionan una visión genérica de diferentes tipos de

entrada y salida, aislando al programador de los detalles específicos del sistema

operativo y sus dispositivos subyacentes.

Algunos métodos de la clase File son:

Tabla 1.1 Métodos de la clase File.

Método Proceso

CreateText(ruta) Crea o abre un archivo para escribir texto.

Create(ruta) Crea un archivo en la ruta específicada

AppendText Anexa texto a un archivo de texto existente.

Delete Elimina un archivo existente.

Copy Copia un archivo

Exists Determina si existe un archivo específico.

Open Abre un archivo de texto existente

Move Mueve un archivo a un sitio específico.

GetCreateTime Devuelve la hora y la fecha de la creación de un archivo.

Replace Reemplaza el contenido de un archivo en otro.

5 Se usan para agrupar clases y otros tipos de datos que estén relacionados entre sí.

Page 12: libro manejo de archivos visual basic net 2010

12

1.1.1 Ejemplo clase File

Hacer un nuevo proyecto llamado GuardarábrirConFile y realizar un programa que

permita a un usuario guardar información en un archivo de texto plano, recuperar la

información de éste, así como adicionarle información utilizando la clase File.

NOTA: Si lo considera necesario puede revisar el Anexo A, donde se explica

brevemente la creación, la interfaz de usuario, el establecimiento de propiedades a los

controles, la escritura de código, la ejecución de un nuevo proyecto Windows Forms.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 2 Label, 2 TextBox, 3

Button.

Figura 1.1 Interfaz de usuario (GuardarábrirConFile).

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 GuardarábrirConFile.

Control Propiedad Valor

Label1 Name etiquetaver

Text Texto del archivo de escritura/lectura.

Label2 Name etiquetaadicion

Text Texto para adicionar

TextBox1 Name texto

Text En blanco

Multiline true

TextBox2 Name textoadicional

Text En blanco

Multiline true

Button1 Name botonguardar

Page 13: libro manejo de archivos visual basic net 2010

13

Text Guardar en archivo

Button2 Name botonabrir

Text Abrir archivo

Button3 Name botonadicionar

Text Adicionar texto

Form1 Name formulario

Text 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 (GuardarábrirConFile).

Escribir código

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 código escriba imports System.IO. El código 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 métodos

de la clase File.

b) En modo diseño del formulario, seleccione el objeto botonguardar, dé doble

clic para abrir el editor de código botonguardar_Click y escriba el siguiente

código:

Try Dim escribir As StreamWriter escribir = File.CreateText("c:\datosentexto.txt") escribir.Write(texto.Text) escribir.Close() texto.Text = ""

Page 14: libro manejo de archivos visual basic net 2010

14

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 práctica cuando se están

realizando operaciones de entrada/salida para evitar salidas anormales del

sistema. En el bloque Try se establece el código que realiza una tarea específica

y que en un caso dado puede generar un error; en el bloque Catch irá el código

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 creación del

archivo de texto “c:\datosentexto.txt” por medio del método createText de la

clase File. Utilizando el método write y enviándole como parámetro el

contenido del control llamado texto, se guarda la información en el archivo

específicado. Por otro lado, se cierra el archivo utilizando el método 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 código

botonabrir_Click y escriba el siguiente código:

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 método openText de la

clase File. Utilizando el método 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 método close (). En el bloque Catch si se genera

algún error se mostrará el mensaje “Error al leer el archivo”.

d) Seleccione el objeto botonadicionar, dé doble clic para abrir el editor de código

botonadicionar_Click y escriba el siguiente código: 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

Page 15: libro manejo de archivos visual basic net 2010

15

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 adición del texto al

archivo “c:\datosentexto.txt” por medio del método AppendText de la clase

File. Utilizando el método WriteLine y enviándole como parámetro el

contenido del control llamado textoadicional, se adiciona la información al final

del archivo específicado. Por otro lado se cierra el archivo utilizando el método

close () y se limpia el objeto textoadicional. En el bloque Catch si se genera

algún 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 botón Guardar en archivo”

en el objeto texto, dicha figura quedaría así:

Figura 1.3 Ejecución aplicación AbrirGuardarConFile.

Al pulsar el botón Guardar en Archivo, se creará en C:\ el archivo

datosentexto.txt y el objeto texto se limpiará. Mostrándose la siguiente caja de texto:

Figura 1.4 Mensaje de texto guardado en el archivo datosentexto.txt.

Page 16: libro manejo de archivos visual basic net 2010

16

Pulse el botón Aceptar para cerrar dicha caja. Al pulsar el botón Leer Archivo,

se visualizará nuevamente la figura 1.3. Si se adiciona el texto “adicionando texto al

archivo que previamente había 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 botón Adicionar Texto, y nuevamente pulse el botón Leer

Archivo para visualizar la siguiente figura:

Figura 1.6 Lectura del archivo con el texto adicional.

Page 17: libro manejo de archivos visual basic net 2010

17

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 opción más para la

manipulación de archivos de texto plano. Esta clase, entre otros, contiene el método

ReadToEnd cuyo objetivo es leer un archivo desde una posición inicial hasta el final.

La Clase StreamWriter (flujo de escritura) está diseñada para la salida de

caracteres. Esta clase contiene entre otros el método Write para escribir información en

el archivo.

1.2.1 Ejemplo clases StreamWriter y StreamReader

Crear un proyecto llamado GuardarábrirArchivoTexto y hacer un programa que

permita a un usuario guardar información 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Label, 1 TextBox, 2

Button.

Figura 1.7 Interfaz de usuario (GuardarábrirArchivoTexto).

Establecer las propiedades de los objetos de la interfaz de usuario

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

Page 18: libro manejo de archivos visual basic net 2010

18

Tabla 1.3 Propiedades de los controles del proyecto GuardarábrirArchivoTexto.

Control Propiedad Valor

Label1 Name titulo

Text Guardar y abrir un archivo de texto.

Font – Bold true

TextBox1 Name texto

Text En blanco

Multiline true

Button1 Name botonguardar

Text Guardar archivo de texto

Button2 Name botonabrir

Text Abrir archivo de texto

Form1 Name formulario

Text 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 (GuardarábrirArchivoTexto).

Escribir código

a) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código:

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 asignándosele un espacio de memoria de

tipo System.IO.StreamWriter (), al cual se le envía como parámetro el nombre

del archivo (archivotexto.txt). Dicho archivo estará ubicado en la carpeta

Page 19: libro manejo de archivos visual basic net 2010

19

\bin\debug del proyecto. Utilizando el método Write se escribe el contenido del

objeto texto en el archivo. Por otro lado se cierra el archivo utilizando el método

close () y se limpia el objeto texto.

b) Seleccione el objeto botonabrir, dé doble clic para abrir el editor de código y

escriba el siguiente código:

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

asignándosele un espacio de memoria de tipo System.IO.StreamWriter ().

Utilizando el método 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 adicionársele el texto “El amor es el principio de todo, la

razón de todo, el fin de todo” en el objeto llamado texto, el formulario presentaría el

siguiente aspecto:

Figura 1.9 Ejecución aplicación GuardarábrirArchivoTexto.

Al pulsar el botón 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 botón Abrir Archivo de texto, se cargará en el objeto texto el contenido del

archivo de texto.

Page 20: libro manejo de archivos visual basic net 2010

20

1.3 Controles OpenFileDialog y SaveFileDialog

Los controles OpenFileDialog y SaveFileDialog del cuadro de herramientas de Visual

Basic .NET /2008, son cuadros de diálogo que permiten abrir y guardar archivos,

respectivamente. El control OpenFileDialog representa un cuadro de diálogo para

seleccionar un archivo que será abierto. El control SaveFileDialog representa un cuadro

de diálogo 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 diálogo modal; por tanto, al mostrarse, bloquea el resto de la

aplicación hasta que el usuario haya elegido un archivo o cancelado la operación.

1.3.1 Ejemplo con los controles OpenFileDialog y SaveFileDialog

Realizar un proyecto llamado GuardarábrirConControles y diseñar un programa que

permita a un usuario guardar información 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 2 Label, 1 TextBox, 2

Button, 1 OpenFileDialog y 1 SaveFileDialog.

Figura 1.10 Interfaz de usuario (GuardarábrirArchivoConControles)

Establecer las propiedades de los objetos de la interfaz de usuario

Establezca las siguientes modificaciones a los controles:

Page 21: libro manejo de archivos visual basic net 2010

21

Tabla 1.4 Propiedades de controles proyecto GuardarábrirArchivoConControles.

Control Propiedad Valor

Label1 Name titulo1

Text Guardar y abrir archivo de texto con los controles.

Font – Bold true

Label2 Name titulo2

Text SaveFileDialog y OpenFileDialog.

Font – Bold true

TextBox1 Name texto

Text En blanco

Multiline true

SavefileDialog1 Name guardarárchivo

OpenFileDialog1 Name abrirárchivo

Button1 Name botonguardar

Text Guardar archivo de texto

Button2 Name botonabrir

Text Abrir archivo de texto

Form1 Name formulario

Text Controles SaveFileDialog y OpenFileDialog.

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

Figura 1.11 Interfaz de usuario modificada (GuardarábrirArchivoconControles).

Escribir código

a) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código:

Page 22: libro manejo de archivos visual basic net 2010

22

guardarárchivo.Filter = "Archivos de texto (*.txt)| *.txt" guardarárchivo.ShowDialog() If guardarárchivo.FileName <> "" Then Try Dim guardar As IO.StreamWriter guardar = New IO.StreamWriter(guardarárchivo.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 información") End If

En el anterior código se utiliza la propiedad Filter del control

guardarárchivo para que cuando se abra el cuadro de diálogo solamente se

visualicen los archivos con extensión .txt. El método ShowDialog permite abrir

el cuadro de diálogo. Utilizando la estructura if se pregunta si el nombre de

archivo es diferente de vacío utilizando la propiedad FileName. Si se cumple la

condición se crea un objeto llamado guardar de tipo IO.StreamWriter al cual

se le asigna espacio de memoria enviándole como parámetro el nombre del

archivo por intermedio de la propiedad FileName del control guardarárchivo.

Por otro lado, se utiliza el método Write para guardar el contenido del objeto

texto; luego se cierra el objeto con el método 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 vacío o no contiene información.

b) Seleccione el objeto botonabrir, dé doble clic para abrir el editor de código y

escriba el siguiente código:

abrirárchivo.Filter = "Archivos de texto (*.txt)| *.txt"

abrirárchivo.ShowDialog() If abrirárchivo.FileName <> "" Then Try Dim verarchivo As New IO.StreamReader(abrirárchivo.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 información") End If

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

diferente de vacío. Si se cumple la condición se crea un objeto llamado

verarchivo de tipo IO.StreamReader al cual se le asigna espacio de memoria

enviándole como parámetro el nombre del archivo por intermedio de la

propiedad FileName del control abrirárchivo. Por otro lado, se utiliza el

método ReadToEnd para leer el archivo y asignarle el contenido al objeto texto,

luego se cierra el objeto con el método close (). Si, por el contrario, no contiene

información, se mostrará un mensaje informando que el archivo esta vació.

Page 23: libro manejo de archivos visual basic net 2010

23

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 botón Abrir Archivo de Texto se visualizará el cuadro de

diálogo de Abrir. Se debe seleccionar un archivo de texto y pulsar el botón del cuadro

de diálogo Abrir.

Figura 1.12 Cuadro de Diálogo control abrirárchivo.

El formulario presentaría un aspecto similar:

Figura 1.13 Formulario con archivo de texto abierto.

Al pulsar el botón Guardar Archivo de Texto se visualizará el cuadro de

diálogo de Guardar como, donde se deberá digitar el nombre del archivo a guardar y

pulsar el botón del cuadro de diálogo “Guardar”. Si el archivo ya existe, preguntará si

desea sobrescribirlo.

Page 24: libro manejo de archivos visual basic net 2010

24

Figura 1.14 Cuadro de diálogo control guardar archivo.

1.4 Archivos secuenciales

Otra forma de guardar o leer información de un archivo de texto plano es utilizar

archivos secuenciales. Los archivos secuenciales se denominan de esta manera porque

para guardar y leer la información 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 específicar si se va a

escribir en el archivo (Input), si se va a leer el archivo (Output) o si se va a adicionar

información al archivo (Append). Para accesar a un archivo secuencial se utiliza la

función 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 instrucción FileOpen primero crea el

archivo y a continuación lo abre. Una vez que se abre un archivo para una operación

Input, Output o Append, debe cerrarse con la instrucción FileClose antes de volver a

abrirlo para realizar otro tipo de operación.

1.4.1 Ejemplo de archivos secuenciales

Crear un proyecto llamado ArchivosSecuenciales y realizar un programa que permita a

un usuario guardar información en un archivo de texto plano, leer la información de

éste, así como adicionarle más información a dicho archivo utilizando archivos

secuenciales.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 4 Label, 3 TextBox, 3

Button.

Page 25: libro manejo de archivos visual basic net 2010

25

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 Propiedad Valor

Label1 Name titulo

Text Guardar/adicionar inf. archivo secuencial.

Label2 Name etiquetanombre

Text Digite nombres:

Label3 Name etiquetaapellido

Text Digite apellidos:

Label4 Name mostrar

Text Lectura del archivo:

TextBox1 Name textonombre

Text En blanco

TextBox2 Name textoapellido

Text En blanco

TextBox3 Name textolectura

Text En blanco

Multiline true

Button1 Name botonguardar

Text Guardar archivo

Button2 Name botonadicionar

Text Adicionar texto

Button3 Name botonabrir

Text Leer archivo

Form1 Name formulario

Text Guardar, adicionar y leer archivo secuencial.

Page 26: libro manejo de archivos visual basic net 2010

26

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

Figura 1.16 Interfaz de usuario modificada (ArchivosSecuenciales).

Escribir código

a) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código: 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 código se utiliza la función FileOpen con los parámetros:

1, un número de archivo libre, “c:\datossecuenciales.txt”, nombre del archivo,

OpenMode.OutPut, modo de apertura del archivo (salida). Con el método

PrintLine se imprime en una línea 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 código

y escriba el siguiente código: 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

Page 27: libro manejo de archivos visual basic net 2010

27

Lo único que cambia con respecto a la opción de Guardar archivo es el

modo de apertura del archivo (OpenMode.Append), se cambia OutPut por

Append (adicionar). Este modo de apertura permite guardar más información al

final del archivo específicado.

c) Seleccione el objeto botonabrir, de doble clic para abrir el editor de código y

escriba el siguiente código:

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 función FileOpen con los parámetros: 1, un número 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 línea del archivo. Por otro lado se

crea un ciclo (Do Until – Loop) que recorrerá el archivo hasta el final (EOF)

línea por línea y utilizando el método LineInput () se le asignará la información

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 botón Guardar archivo, se

guardará dicha información en el archivo “c:\datossecuenciales.txt”. El formulario con

la información quedaría de la siguiente forma:

Figura 1.17 Formulario con información de nombre y apellido.

Page 28: libro manejo de archivos visual basic net 2010

28

Si se desea adicionar más información al archivo de texto, escriba nuevamente

los nombres y apellidos correspondientes y pulse el botón Adicionar texto, se podría

obtener la siguiente pantalla:

Figura 1.18 Formulario con información para adicionar.

Al pulsar el botón Leer Archivo se leerá el contenido del archivo de texto, como

se muestra en la siguiente figura.

Figura 1.19 Formulario con la información del archivo.

Page 29: libro manejo de archivos visual basic net 2010

29

1.5 Archivos binarios

También es posible guardar o leer información desde un archivo con acceso binario.

Con los archivos de acceso binario se puede almacenar información ya sea numérica, de

cadena o de ambas. Este tipo de archivo no requiere campos de longitud fija. No

obstante, es necesario conocer cómo 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 numérico.

Para abrir un archivo para acceso binario, se recurre a OpenMode.Binary con la

instrucción 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 información en un archivo de texto plano, leer la información de este,

utilizando archivos binarios.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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:

Page 30: libro manejo de archivos visual basic net 2010

30

Tabla 1.6 Propiedades de controles proyecto ArchivosBinarios.

Control Propiedad Valor

Label1 Name titulo

Text Guardar/adicionar inf. archivo binario.

Label2 Name etiquetaproducto

Text Digite producto:

Label3 Name etiquetacantidad

Text Digite cantidad:

TextBox1 Name textoproducto

Text En blanco

TextBox2 Name textocantidad

Text En blanco

TextBox3 Name textolectura

Text En blanco

Multiline true

Button1 Name botonguardar

Text Guardar archivo

Button2 Name botonabrir

Text Leer archivo

Form1 Name formulario

Text 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 código

a) Definir una estructura llamada Articulo después de Public class formulario:

Structure Articulo

<VBFixedString(30)> Dim producto As String <VBFixedString(10)> Dim cantidad As String End Structure

Page 31: libro manejo de archivos visual basic net 2010

31

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 máxima de los datos.

b) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código: 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 información

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 número de archivo libre utilizando la

función FreeFile (), como también se le asigna a la variable nombrearchivo la

ruta y el nombre del archivo donde se guardará la información. Se abre el

archivo en modo binario utilizando la función FileOpen que recibe como

parámetros: un número 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 código y

escriba el siguiente código:

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 líneas son exactamente

iguales a la opción 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 función FileGet para leer el contenido del archivo,

éste recibe como parámetros: el numero del archivo (numeroarchivo) y el

objeto textolectura, el cual contendrá el contenido del archivo de texto. Por

último se cierra el archivo.

Page 32: libro manejo de archivos visual basic net 2010

32

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 botón Guardar Archivo, se guardará dicha información en el

archivo c:\datosaleatorios.txt”. Al pulsar el botón Leer Archivo, el formulario con la

información leída quedaría de la siguiente forma:

Figura 1.22 Formulario con información 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 información. Con Visual Basic .NET también 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 importarán 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 deberán mostrar en un control DataGridView de Visual

Basic .NET, así como se deberá solicitar el rango de datos a importar. Al exportar se

deberán 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Label, 1 TextBox, 2

Button y 1 DataGridView.

Page 33: libro manejo de archivos visual basic net 2010

33

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 Propiedad Valor

Label1 Name texto

Text Rango a importar de

Excel

Font – Bold true

TextBox1 Name rango

Text A1:D10

DataGridView1 Name tabla

Button1 Name botonimportar

Text Importar de Excel

Button2 Name botonexportar

Text Exportar a Excel

Form1 Name formulario

Text Importar y exportar de

Excel.

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

Page 34: libro manejo de archivos visual basic net 2010

34

Figura 1.24 Interfaz de usuario modificada (ImportarExportarExcel).

Escribir código

Antes de escribir código, se deberá crear un archivo en Excel llamado

“importardatos.xls” y en la hoja uno (1) escribir información 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 código

y escriba el siguiente código:

importar_Excel("c:\importardatos.xls", "hoja1", rango.Text, tabla)

Se llama al procedimiento importar_Excel, el cual tiene como

Page 35: libro manejo de archivos visual basic net 2010

35

parámetros: 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

parámetros: 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 método 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

conexión a Excel; conectordedatos de tipo OleDbConnection que representa

una conexión única a un origen de datos; en este caso, se le asigna espacio de

memoria y se le envía como parámetro la cadena de conexión; selecciondedatos

de tipo String a la cual se le asigna la sentencia de selección SQL (select) que

trae los datos de la hoja1(nombrehoja) en el rango específicado (rangohoja).

Page 36: libro manejo de archivos visual basic net 2010

36

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

enviándole como parámetro los datos seleccionados (selecciondedatos) y la

cadena de conexión (conexiondedatos), también 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 conexión de los datos con close (). Además 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 condición 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 código

y escriba el siguiente código:

exportar_Excel(tabla, tabla.Rows.Count)

Se llama al procedimiento exportar_Excel, el cual tiene como

parámetros: el objeto DataGridView llamado tabla y la cantidad de filas que

contiene dicho objeto utilizando la función 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 parámetro 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

parámetros: las variables tabla de tipo DataGridView y nrofilas de tipo long.

Page 37: libro manejo de archivos visual basic net 2010

37

El objeto tabla contendrá los datos a exportar y nro_filas el número 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 aplicación 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 método Open de

WorkBooks, como también 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 posición del valor de la variable icolumna el nombre de la

columna del objeto DataGridView utilizando el método HeaderText, en el

ciclo más 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 posición (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 botón 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 exportarán 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 ningún error.

Page 38: libro manejo de archivos visual basic net 2010

38

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

1.7 Exportar datos a Word

Con Visual Basic .NET también 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 opción Agregar referencia… y busque el

nombre del componente Microsoft.Office.Interop.Word, se debería visualizar la

siguiente pantalla:

Figura 1.28 Agregar referencia .NET.

Page 39: libro manejo de archivos visual basic net 2010

39

Al estar seleccionado dicho componente, pulse el botón Aceptar para

incorporarlo al proyecto.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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 Propiedad Valor

DataGridView1 Name tabla

Button1 Name botonexportar

Text Exportar a Word

Form1 Name formulario

Text Exportar datos a Word.

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

Page 40: libro manejo de archivos visual basic net 2010

40

Figura 1.30 Interfaz de usuario modificada (ExportarWord).

Escribir código

a) Seleccione el objeto botonexportar, dé doble clic para abrir el editor de código

y escriba el siguiente código:

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 Aplicación de Word

(Word.application), Documento de tipo documento de Word

(Word.Document), Parrafo de tipo Tabla de Word (Word.Table), como

también 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 añade 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 posición del valor de la variable columnas+1 el nombre de la columna

del objeto DataGridView utilizando el método HeaderText; en el ciclo más

Page 41: libro manejo de archivos visual basic net 2010

41

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 código:

With tabla

.Columns.Add("Código", "Código") .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 código se llena el objeto tabla con datos. Se le adicionan

cinco nombres, uno en cada columna con el método 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 posición i igual a cero (0) hasta el

número de filas -1 del objeto tabla y por cada fila se adicionarán 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 sumándole el valor de i, en la

cuarta un número 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.

Page 42: libro manejo de archivos visual basic net 2010

42

Al pulsar el botón Exportar a Word, se abrirá un nuevo documento de Word y

se visualizaría 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 opción “Todos los bordes” para que el documento presente el

siguiente aspecto:

Figura 1.33 Tabla de Word con datos y bordes.

Page 43: libro manejo de archivos visual basic net 2010

43

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. Diseñar 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.

Page 44: libro manejo de archivos visual basic net 2010

44

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 gestión de bases de datos).

Cada base de datos se compone de una o más tablas que guardan los datos. Cada tabla

tiene una o más columnas y filas. Las columnas guardan una parte de la información

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 características de las bases de datos se

pueden mencionar:

Independencia lógica y física de los datos.

Redundancia mínima.

Acceso concurrente por parte de múltiples usuarios.

Integridad de los datos.

Consultas complejas optimizadas.

Seguridad de acceso y auditoría.

Respaldo y recuperación.

Acceso a través de lenguajes de programación estándar.

2.1 Tipos de bases de datos

Los tipos de bases datos más comunes son las relacionales y en el mercado existen

varios sistemas de administración de bases de datos de ese tipo, algunos son: SQL

Server, Access, Oracle, MySQL, PostgresSQL, etc.

2.1.1 Relacionales

Son las que más 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 características y el comportamiento de los objetos que poblarán 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 inyección de inteligencia que les permite saber cómo 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

Page 45: libro manejo de archivos visual basic net 2010

45

estructura de los mismos. El lenguaje SQL está compuesto por comandos, cláusulas,

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 Descripción

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 definición 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 operación.

UPDATE Utilizado para modificar los valores de los campos y registros específicados.

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

2.2.2 Cláusulas

Las cláusulas son condiciones de modificación utilizadas para definir los datos que se

desea seleccionar o manipular.

Tabla 2.2 Cláusulas SQL.

Cláusula Descripción

FROM Para específicar la tabla de la cual se van a seleccionar los registros.

WHERE Para específicar las condiciones que deben reunir los registros a seleccionar.

GROUP BY Utilizada para separar los registros seleccionados en grupos específicos.

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo.

ORDER BY Para ordenar los registros seleccionados.

Page 46: libro manejo de archivos visual basic net 2010

46

2.2.3 Operadores lógicos

Los operadores lógicos comprueban la veracidad de alguna condición. Éstos devuelven

el tipo de datos Boolean con el valor TRUE o FALSE.

Tabla 2.3 Operadores lógicos SQL.

Operador Uso

AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

BETWEEN Utilizado para específicar un intervalo de valores.

LIKE Utilizado en la comparación de un patrón.

IN Utilizado para específicar registros de una base de datos.

ALL Devuelve True si el conjunto de comparaciones en verdad.

2.2.4 Operadores de Comparación

Los operadores de comparación 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 comparación 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 cálculo sobre un conjunto de valores y devuelven

un solo valor. Si exceptuamos la función COUNT, todas las funciones de agregado

ignoran los valores NULL. Las funciones de agregado se suelen utilizar con la cláusula

GROUP BY de la instrucción SELECT.

Page 47: libro manejo de archivos visual basic net 2010

47

Tabla 2.5 Funciones de agregado SQL.

Función Descripción

AVG Utilizada para calcular el promedio de los valores de un campo determinado.

COUNT Utilizada para devolver el número de registros de la selección.

SUM Utilizada para devolver la suma de todos los valores de un campo determinado.

MAX Utilizada para devolver el valor más alto de un campo específicado.

MIN Utilizada para devolver el valor más bajo de un campo específicado.

2.3 Sentencias Básicas SQL

Se describirá muy brevemente algunas de las sentencias SQL para la manipulación de

los datos de una tabla. Para trabajar las sentencias a continuación, 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 Tipo de Dato Longitud

identificacion varchar 15

nombres varchar 20

apellidos varchar 20

dirección varchar 25

teléfono varchar 20

ciudad_nac varchar 20

fecha_nac date

Y que contiene la siguiente información:

Tabla 2.7 Información de la tabla usuarios.

Identificación Nombres Apellidos Dirección Teléfono Ciudad_nac Fecha_nac

100 Carlos Romero Cra 7 # 20-10 4152584 Bogota 01/02/1980

101 María Castro Calle 25 # 25-10 3692581 Cali 15/03/1984

112 José Peláez Av. 35 # 32-45 1234567 Medellín 20/05/1960

114 Cristian Vanegas Cra 7 # 29-58 9874561 Manizales 31/08/1974

116 Rosa Cetina Calle 17 # 21-14 3571596 Buga 15/12/1985

118 Andrés Vanegas Tranvs 48 # 22-10 8527419 Bogotá 10/04/1978

130 Angélica Morales Cra 68 # 21-11 6549518 Medellín 20/06/1981

150 Johana Duarte Cra 2 # 45-38 9637534 Bogotá 12/06/1988

170 Mario Vargas Calle 1 # 99-18 6598743 Medellín 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)

Page 48: libro manejo de archivos visual basic net 2010

48

2.3.2 DROP DATABASE

El comando DROP DATABASE permite eliminar una base de datos que previamente

se había 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

específica 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 cláusula DEFAULT indica la característica 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 había

creado. Su formato es:

DROP TABLE nombre_tabla

2.3.5 INSERT

La sentencia SQL de inserción de datos INSERT permite insertar información 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 debería realizar la siguiente

sentencia:

INSERT INTO usuarios (identificación, nombres, apellidos, dirección, teléfono, ciudad_nac, fecha_nac) VALUES ( ‘160’, ’Carmen’, ’Bolívar’, ’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

numérico se debería realizar la siguiente sentencia:

ALTER TABLE usuarios ADD credito numeric (18,0)

Page 49: libro manejo de archivos visual basic net 2010

49

2.3.7 SELECT

La sentencia SQL que más se utiliza es la instrucción de selección SELECT. Como su

nombre lo indica, es una instrucción que permite seleccionar información de una tabla.

Su formato es: SELECT campos_tabla FROM nombre_tabla

A continuación se realizan algunos ejemplos:

a) Para visualizar toda la información que contiene la tabla usuarios se puede

incluir con la instrucción SELECT el carácter ‘*’ o cada uno de los campos de la

tabla. SELECT * FROM usuarios O SELECT identificación, nombres,…….. FROM usuarios

b) Para visualizar solamente la identificación del usuario

SELECT identificacion FROM usuarios

c) Si se desea obtener los registros cuya identificación sea menor o igual a 116, se

debe utilizar la cláusula WHERE que específica las condiciones que deben

reunir los registros que se van a seleccionar.

SELECT * FROM usuarios WHERE identificación<=’116’

d) Si se desea obtener los registros cuyos nombres sean Andrés o Cristian, se debe

utilizar el operador IN que específica 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=‘Andrés’ OR nombres=’Cristian’

e) Si se desea obtener los registros cuya identificación sea menor de ‘130’ y la

ciudad sea ‘Bogota’, se debe utilizar el operador AND.

SELECT * FROM usuarios WHERE identificación<=‘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 ‘_’

(carácter).

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’.

Page 50: libro manejo de archivos visual basic net 2010

50

SELECT * FROM usuarios WHERE nombres LIKE _o%’

i) Si se desea obtener los registros cuya identificación esté entre el intervalo 116 y

140, se debe utilizar la cláusula BETWEEN, que sirve para específicar un

intervalo de valores.

SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND ‘140’

2.3.8 DELETE

La sentencia SQL de eliminación de datos DELETE permite borrar todos o un grupo

específico de registros de una tabla. Su formato es:

DELETE FROM nombre_tabla

A continuación se realizarán algunos ejemplos:

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

DELETE FROM usuarios

b) Para eliminar solamente los registros cuya identificación sea mayor de ‘150’.

DELETE FROM usuarios WHERE identificación >’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 actualización UPDATE permite actualizar un campo de una tabla.

Su formato es:

UPDATE nombre_tabla SET nombre_campo=criterio

A continuación 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’

Page 51: libro manejo de archivos visual basic net 2010

51

2.3.10 INNER JOIN

Permite recuperar datos de 2 o más tablas. Cuando se realiza la concatenación 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

además 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 Tipo de Dato Longitud

nropedido varchar 15

identificacion varchar 15

fechacompra date 20

fechavence date 25

observacíon varchar 30

Y que contiene la siguiente información:

Tabla 2.9 Información de la tabla usuarios.

nropedido Identificación fechacompra fechavence observacíon

10 100 01/02/2006 01/02/2006 Pago de contado

20 101 15/03/2006 15/03/2006 Descuento del 5%

30 100 20/05/2006 20/06/2006 Descuento del 2%

40 112 31/08/2006 31/10/2006 Pago a sesenta días

50 101 15/12/2006 30/12/2006 Pago de contado

60 118 10/04/2006 10/06/2006 Sin descuento

70 101 20/06/2006 20/07/2006 Descuento del 5%

80 100 12/06/2006 12/09/2006 Pago a noventa días

90 101 28/08/2006 28/09/2006 Pago de contado

a) Para visualizar los campos identificación, nombres, apellidos de la tabla usuarios

y nropedido, fecha de compra, fecha de vencimiento y observación de la tabla

pedidos, se debe realizar la siguiente instrucción:

SELECT usuarios.identificacion, usuarios.nombres, usuarios.apellidos, pedidos.nropedido, pedidos.fechacompra, pedidos.fechavence, pedidos.observacíon FROM usuarios INNER JOIN pedidos ON usuarios.identificacion = pedidos.identificacion

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

identificación sea igual a 100, se debe realizar la siguiente instrucción:

SELECT usuarios.*, pedidos.* FROM usuarios INNER JOIN pedidos ON usuarios.identificacion = pedidos.identificacion WHERE usuarios.identificacion=100

Page 52: libro manejo de archivos visual basic net 2010

52

2.4 Conexión a bases de datos

Visual Basic .NET utiliza la tecnología 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 orígenes de datos como Microsoft SQL Server

y XML, así como a orígenes de datos OLE DB y ODBC. Las aplicaciones para usuarios

que comparten datos pueden utilizar ADO.NET para conectar a estos orígenes 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 código 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

manipulación de los mismos.

Sus principales clases son:

DataSet: Es el conjunto de datos donde se pueden incluir una o más tablas con

la información acerca de las relaciones entre éstas, y las restricciones que

puedan tener los datos.

DataTable: Permite la manipulación de los datos en la memoria y realiza

operaciones como exploración, ordenación, edición, aplicación de filtros,

creación de vistas, etc.

DataView: Permite representar los datos de la clase DataTable, creando

múltiples 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 conexión con una base de datos. Se

utiliza SqlConnection para una conexión a SQL Server, OleDbConnection

para una conexión 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 conexión a SQL Server,

OleDbCommand para una conexión 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 conexión a SQL Server, OleDataAdapter para una

conexión a Access y OracleDataAdapter para Oracle.

2.5 Ejemplos de conexión a bases de datos

2.5.1 Conexión a una base de datos de SQL Server

Dentro de un proyecto llamado ConexionBDSQLSERVER, realizar un programa que

permita a un usuario hacer una conexión a una base de datos de SQL Server y mostrar

Page 53: libro manejo de archivos visual basic net 2010

53

los datos de una tabla en un objeto DataGridView, utilizando código 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Button, 1 Label y 1

DataGridView.

Page 54: libro manejo de archivos visual basic net 2010

54

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 Conexión a una base de datos de SQL SERVER.

Font True

Form1 Name formulario

Text Conexión BD SQL SERVER - Clientes.

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

Figura 2.4 Interfaz de usuario modificada (ConexionBDSQLSERVER).

Page 55: libro manejo de archivos visual basic net 2010

55

Escribir código

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 código y escriba

el siguiente código:

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 conexión a la base de datos de SQL Server. La cadena de conexión debe contener

como mínimo los siguientes parámetros:

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

dirección 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

Page 56: libro manejo de archivos visual basic net 2010

56

adaptadordedatos, al cual se le envía como parámetros los objetos seleccion (datos

a mostrar) y conexion (cadena de conexión), 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

asignársele 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 botón 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 Conexión a una base de datos de ACCESS

Crear un proyecto llamado ConexionBDACCESS y diseñar un programa que permita a

un usuario realizar una conexión a una base de datos de ACCESS y mostrar los datos de

una tabla en un objeto DataGridView, utilizando código 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

(búsque en Internet cómo crear una base de datos y una tabla en Microsoft Access), con

la siguiente estructura:

Figura 2.6 Estructura tabla clientes en Access.

Page 57: libro manejo de archivos visual basic net 2010

57

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 específico y ubique los

siguientes controles en el formulario en la posición 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 Propiedad Valor

DataGridView1 Name tabla

Button1 Name boton

Text mostrar datos tabla

Label1 Name titulo

Text Conexión a una base de datos de ACCESS.

Font True

Form1 Name formulario

Text Conexión a ACCESS – tabla Clientes.

Page 58: libro manejo de archivos visual basic net 2010

58

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

Figura 2.9 Interfaz de usuario modificada (ConexionBDACCESS).

Escribir código

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 código y escriba

el siguiente código:

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

Page 59: libro manejo de archivos visual basic net 2010

59

Con relación al código que se realizó para conectarse a la base de datos SQL

Server, se efectuarón dos cambios, a saber:

1) Cadena de conexión: Dicha conexión debe contener como mínimo los

siguientes parámetros:

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 específica 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 botón 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 Conexión a una base de datos de ORACLE con código

Realizar un proyecto llamado ConexionBDORACLE, y desde allí permitir a un

usuario realizar una conexión 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

Page 60: libro manejo de archivos visual basic net 2010

60

usuario y clave creados cuando se realiza la instalación 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Button, 1 Label y 1

DataGridView.

Page 61: libro manejo de archivos visual basic net 2010

61

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 Propiedad Valor

DataGridView1 Name tabla

Button1 Name boton

Text Mostrar datos tabla

Label1 Name titulo

Text Conexión a una Base de Datos de ORACLE.

Font True

Form1 Name formulario

Text Conexión a ORACLE – tabla Clientes.

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

Figura 2.14 Interfaz de usuario modificada (ConexionBDORACLE).

Page 62: libro manejo de archivos visual basic net 2010

62

Escribir código

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 código y escriba

el siguiente código:

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 relación al código que se realizo para conectarse a la base de datos

ACCESS, se hizo solamente el cambio de la cadena de conexión. Dicha conexión

debe contener como mínimo los siguientes parámetros:

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 identificación del usuario y su respectiva clave.

Data Source: Se le específica la dirección 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 botón Mostrar datos tabla, se visualizará el

formulario con los datos de la tabla clientes de Oracle:

Page 63: libro manejo de archivos visual basic net 2010

63

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

2.6 Conexión a una bases de datos con el explorador de servidores

También es posible establecer una conexión 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 Actualización, Conectar con Base de Datos y Conectar con el

Servidor. Esta herramienta mantiene las conexiones definidas y/o permite definir

nuevas. Cada conexión define un nodo con la estructura de la base de datos.

2.6.1 Conexión a SQL Server con el Explorador de servidores

Dentro de un proyecto llamado ConexionConExploradorServidores, realizar un

programa que permita a un usuario hacer una conexión 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Label y 1

DataGridView.

Page 64: libro manejo de archivos visual basic net 2010

64

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 Propiedad Valor

DataGridView1 Name tabla

Label1 Name texto

Text Conexión a SQL Server con el Explorador de servidores.

Font True

Form1 Name formulario

Text Conexión 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.

Page 65: libro manejo de archivos visual basic net 2010

65

Explorador de servidores..

Del menú Ver seleccione la opción Explorador de servidores, para visualizar la

siguiente figura:

Figura 2.18 Ventana Explorador de servidores.

Al pulsar el icono conectar con bases de datos , se visualizará la ventana de

Agregar conexión como muestra la figura:

Figura 2.19 Ventana Agregar conexión.

Page 66: libro manejo de archivos visual basic net 2010

66

En esta ventana se puede realizar básicamente lo siguiente:

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

datos. Por omisión 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 conexión: permite saber si una conexión ha sido exitosa o no.

Modificar la cadena de conexión: con la opción Avanzadas se puede modificar la

conexión.

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

en la carpeta data de SQL Server (si la instalación la realizó en c:\ la ruta sería:

C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data. Si desea

puede probar la conexión y si fue exitosa se mostrará el mensaje ”La conexión de

prueba se realizó correctamente”.

Figura 2.20 Ventana con la base de datos seleccionada y la prueba de conexión.

Pulse los botones Aceptar hasta visualizar la siguiente figura:

Figura 2.21 Explorador de servidor con la conexión a la base de datos.

Page 67: libro manejo de archivos visual basic net 2010

67

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 opción Elegir origen de datos, para visualizar la siguiente figura:

Figura 2.24 Ventana Elegir origen de datos.

Page 68: libro manejo de archivos visual basic net 2010

68

Ahora seleccione la opción Agregar origen de datos del proyecto, se

visualizará la siguiente ventana:

Figura 2.24 Asistente para la configuración de orígenes de datos.

Seleccione el objeto Base de datos y pulse el botón Siguiente>, para visualizar

la ventana de elección de la conexión de datos. Pulse la ventana y seleccione la base de

datos bdlibrovbnet.mdf:

Figura 2.25 Ventana Elegir la conexión de datos.

Al seleccionar la base de datos que se va a trabajar y pulsando el botón

Siguiente> se visualiza el siguiente mensaje:

Figura 2.26 Ventana Microsoft Visual Studio.

Page 69: libro manejo de archivos visual basic net 2010

69

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto y se visualizará la ventana de guardar cadena de conexión:

Figura 2.27 Ventana Guardar cadena de conexión.

Cambie el nombre de la conexión que allí aparece por conexionsqlserver y

pulse el botón Siguiente>, se visualizará la siguiente figura:

Figura 2.28 Ventana de elección 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 botón Finalizar para visualizar la figura:

Page 70: libro manejo de archivos visual basic net 2010

70

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 conexión 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.

Page 71: libro manejo de archivos visual basic net 2010

71

2.7 Ejercicios de conexión a bases de datos

1. Diseñar un programa que permita realizar una conexión a una base de datos y

mostrar datos de una tabla en un control ComboBox.

2. Crear un programa que permita realizar una conexión a una base de datos y

mostrar datos de una tabla en un control ListView.

3. Realizar un programa que permita realizar una conexión a una base de datos y

mostrar datos de una tabla en un control ListBox.

4. Elaborar un programa que permita realizar una conexión 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 conexión a una base de datos y

mostrar los campos de una tabla en un Label.

6. Hacer un programa que permita realizar una conexión a una base de datos

MySQL y mostrar datos de una tabla en una cuadrícula.

7. Diseñar un programa que permita realizar una conexión 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 conexión 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 conexión 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 conexión a una base de datos en

MySQL y mostrar los datos de una tabla en un control ListView.

Page 72: libro manejo de archivos visual basic net 2010

72

3. DESPLAZAMIENTO POR LOS REGISTROS DE UNA TABLA

Hasta el momento con los ejemplos se ha realizado una conexión a una base de datos ya

sea utilizando código o por medio de la herramienta Explorador de servidores y

recurriendo al control DataGridView, visualizándose los registros de una tabla

específica. Ahora lo que se pretende es que el usuario, aparte de visualizar la

información que contenga una tabla, también pueda desplazar o moverse por cada uno

de los registros que contenga dicha tabla. Está operación la podrá realizar en un

formulario utilizando campos de texto (TextBox) o una cuadrícula (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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 4 Button, 7 Label y 6

TextBox.

Figura 3.1 Interfaz de usuario (MovRegCampoTexto).

Page 73: libro manejo de archivos visual basic net 2010

73

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 Dirección:

Label6 Name ttelefono

Text Teléfono:

Label7 Name tciudad

Text ciudad

Textobox1…Textbox6 Name campo1….campo6

Text blanco

Button1 Name botonprimero

Text Primero

Button2 Name botonsiguiente

Text Siguiente

Button3 Name botonanterior

Text Anterior

Button4 Name botonúltimo

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).

Page 74: libro manejo de archivos visual basic net 2010

74

Establecer la conexión

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, selecciónelo en el cuadro

de verificación y pulse el botón Aceptar). Se visualizará la siguiente figura:

Figura 3.3 Ventana Elegir la conexión de datos

Dé clic en el botón Nueva Conexión. 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 conexión.

Pulse el botón Aceptar, para visualizar nuevamente la ventana de Elegir la

conexión de datos. Allí pulse Siguiente> para visualizar el siguiente mensaje:

Page 75: libro manejo de archivos visual basic net 2010

75

Figura 3.5 Ventana Microsoft Visual Studio.

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto. El Explorador de soluciones visualizaría la base de datos como muestra la

figura:

Figura 3.6 Ventana Explorador de soluciones.

Y también se visualizará la ventana de elección de tipo de comando:

Figura 3.7 Ventana elección tipo de comando.

Por omisión está seleccionada la opción Usar Instrucciones SQL. Pulse

Siguiente> para visualizar la ventana de generación de instrucciones SQL.

Page 76: libro manejo de archivos visual basic net 2010

76

Figura 3.8 Ventana Generar las instrucciones SQL.

Aquí se puede realizar la selección de los datos que debería cargar el adaptador

de datos. Una forma es escribir en la ventana instrucciones SQL y la otra es pulsar el

botón Generador de consultas. Para el ejemplo se pulsará el botón para visualizar la

siguiente figura:

Figura 3.9 Ventana Generador de consultas.

Seleccione la tabla clientes, pulse el botón Agregar y luego el botón Cerrar, se

visualizará la siguiente figura:

Page 77: libro manejo de archivos visual basic net 2010

77

Figura 3.10 Generador de consultas con la tabla clientes.

En esta nueva ventana seleccione la opción * (todas las columnas) o los campos

que desea visualizar (Si desea visualizar la consulta seleccionada pulse el botón

Ejecutar consulta). Se obtendrá la siguiente figura:

Figura 3.11 Generador de consultas con los campos seleccionados (tabla clientes).

Pulse el botón Aceptar, y se visualizará la siguiente figura:

Page 78: libro manejo de archivos visual basic net 2010

78

Figura 3.12 Generador de consultas con la instrucción SQL.

Al pulsar el botón Finalizar, se crearán 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 conexión.

Ahora ejecute la opción Generar Conjunto de Datos del menú Datos y se

mostrará el siguiente cuadro de diálogo:

Page 79: libro manejo de archivos visual basic net 2010

79

Figura 3.14 Ventana Generar conjunto de datos.

Seleccione la opción Nuevo y cambie el nombre DataSet1 por conjuntodedatos

y pulse el botón Aceptar para agregar el conjunto de datos a la aplicación, 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:

Page 80: libro manejo de archivos visual basic net 2010

80

Figura 3.16 Vinculación del campo nit al objeto campo1.

Realice el paso anterior para cada objeto TextBox (campo2…campo6)

asignándole 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 código:

conjuntodedatos.Clear() adaptadordedatos.Fill(conjuntodedatos)

En el anterior código primero se limpia el conjunto de datos actual utilizando el

metodo clear y luego se llama al método fill (rellenar) del adaptador de datos,

pasandole como argumento el conjunto de datos que se desea visualizar. Al ejecutar la

aplicación se muestra algo similar a la figura 3.17:

Figura 3.17 Visualización 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 código

para los botones: Primero, Siguiente, Anterior, Último.

Escribir código para los botones

a) Seleccione el objeto botonprimero, dé doble clic para abrir el editor de código y

Page 81: libro manejo de archivos visual basic net 2010

81

escriba el siguiente código:

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 código y

escriba el siguiente código:

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 código y

escriba el siguiente código: BindingContext(conjuntodedatos, "clientes").Position -= 1

La propiedad Position se decrementa en uno para desplazarse al anterior

registro.

d) Seleccione el objeto botonúltimo, dé doble clic para abrir el editor de código y

escriba el siguiente código: BindingContext(conjuntodedatos, "clientes").Position = _ BindingContext(conjuntodedatos, "clientes").Count - 1

La propiedad Position se hace igual al número de registros – 1. Se utiliza

el método count para contar los registros de la tabla clientes.

Al volver a ejecutar la aplicación, 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.

Page 82: libro manejo de archivos visual basic net 2010

82

3.1.2 Formulario con una cuadrícula y botones

Diseñar 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 cuadrícula. 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 específico y ubique los

siguientes controles en el formulario en la posición 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 botonúltimo

Text Último

Form1 Name formulario

Text Desplazamiento de Registros en un DataGridView.

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

Page 83: libro manejo de archivos visual basic net 2010

83

Figura 3.20 Interfaz de usuario modificada (MovRegDataGridView).

Escribir código

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) Después 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: transacción 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;

conexión de tipo String al que se le asignará la cadena de conexión para SQL

Server.

c) Dé doble clic sobre el formulario para abrir el editor de código del

procedimiento formulario_ Load y escriba el siguiente código:

Page 84: libro manejo de archivos visual basic net 2010

84

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 instrucción 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 conexión a SQL Server

(conexion), como también 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

transacción la tabla de datos utilizando la propiedad DataSource. Por otro lado

se refresca (Refresh ()) la cuadrícula para cargar los datos y se obtiene la

posición del primer registro de la cuadrícula

(FirstDisplayedScrollingRowIndex = transaccion.Position). Utilizando dos

bloques catch se atrapan las excepciones SQLException (por si existe algún

error en la ejecución de las sentencias SQL) y Exception (por si existe algún

problema con el sistema).

d) d) Seleccione el objeto botonprimero, de doble clic para abrir el editor de código

y escriba el siguiente código:

transaccion.MoveFirst()

Se utiliza el método 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 código y

escriba el siguiente código:

transaccion.MoveNext()

Se utiliza el método 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 código y

escriba el siguiente código:

transaccion.MovePrevious()

Page 85: libro manejo de archivos visual basic net 2010

85

Se utiliza el método MovePrevious() del objeto transaccion para

moverse al anterior registro de la tabla.

g) Seleccione el objeto botonúltimo, dé doble clic para abrir el editor de código y

escriba el siguiente código:

transaccion.MoveLast()

Se utiliza el método 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 botón y se desplazara por cada registro de la tabla en la

cuadrícula.

Figura 3.21 Formulario con un DataGridView y botones de desplazamiento.

3.1.3 Formulario con una cuadrícula y un control BindingNavigator

Diseñar 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 cuadrícula. 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 BindingNavigator, 1

DataGridView.

Page 86: libro manejo de archivos visual basic net 2010

86

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 Propiedad Valor

DataGridView1 Name tabla

BindingNavigator1 Name navegador

Form1 Name formulario

Text 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).

Page 87: libro manejo de archivos visual basic net 2010

87

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 opción 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:

Page 88: libro manejo de archivos visual basic net 2010

88

Figura 3.26 Asistente para la configuración de orígenes de datos.

Seleccione el objeto Base de datos y pulse el botón Siguiente>, para visualizar

la ventana de elección de la base de datos:

Figura 3.27 Ventana Elegir la conexión de datos.

Dé clic en el botón Nueva Conexión. En la ventana que se visualiza elija como

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

Page 89: libro manejo de archivos visual basic net 2010

89

Figura 3.28 Ventana Agregar conexión.

Al pulsar el botón Aceptar se visualizará nuevamente la ventana de elección de

conexión 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:

Page 90: libro manejo de archivos visual basic net 2010

90

Figura 3.30 Ventana Microsoft Visual Studio.

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto y visualizar la ventana de guardar cadena de conexión:

Figura 3.31 Ventana Guardar cadena de conexión.

Cambie el nombre de la conexión que allí aparece por conexion y pulse el botón

Siguiente>, se visualizará la siguiente figura:

Figura 3.32 Ventana de elección de objetos de la base de datos.

Page 91: libro manejo de archivos visual basic net 2010

91

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 botón 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 conexión 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 cuadrícula.

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

Page 92: libro manejo de archivos visual basic net 2010

92

3.2 Ejercicios de desplazamiento por los registros de una tabla

1. Realizar un programa que permita hacer una conexión a ORACLE y visualizar

los registros de una tabla en campos de texto y desplazarse por ellos.

2. Diseñar un programa que permita realizar una conexión a ORACLE y visualizar

los registros de una tabla en una cuadrícula y desplazarse por ellos.

3. Crear un programa que permita realizar una conexión 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 conexión 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 conexión a ACCESS y visualizar

los registros de una tabla en una cuadrícula y desplazarse por ellos.

6. Realizar un programa que permita hacer una conexión a ACCESS y visualizar

los registros de una tabla en un ListView y desplazarse por ellos.

7. Hacer un programa que permita realizar una conexión 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 conexión a MySQL y visualizar

los registros de una tabla en una cuadrícula y desplazarse por ellos.

9. Diseñar un programa que permita realizar una conexión 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 conexión a SQL Server y visualizar

los registros de una tabla en un ListView y desplazarse por ellos.

Page 93: libro manejo de archivos visual basic net 2010

93

4. OPERACIONES CON TABLAS DE UNA BASE DE DATOS

Cuando se trabaja con bases de datos se pueden realizar operaciones de añadir, eliminar

tablas, vistas, como también insertar, modificar, eliminar o consultar información de

una tabla. Generalmente estas operaciones se realizan ejecutando instrucciones del

lenguaje SQL.

En este aparte se realizarán 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 específico y ubique los

siguientes controles en el formulario en la posición 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:

Page 94: libro manejo de archivos visual basic net 2010

94

Tabla 4.1 Propiedades de controles proyecto InsertarRegCampoTexto.

Control Propiedad Valor

Label1 Name texto

Text Insertar Registros en la tabla clientes.

Font true

Label2 Name tnit

Text Digite Nit:

Label3 Name tempresa

Text Nombre empresa:

Label4 Name trepresentante

Text Representante:

Label5 Name tdireccion

Text Dirección:

Label6 Name ttelefono

Text Teléfono:

Label7 Name tciudad

Text Ciudad

Textobox1…Textbox6 Name campo1….campo6

Text blanco

Button1 Name botoninsertar

Text Insertar Registro

Form1 Name formulario

Text 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 código

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

de nombres:

Page 95: libro manejo de archivos visual basic net 2010

95

Imports System.Data.SqlClient Public Class Form1

…. ……

End Class

b) Seleccione el objeto botoninsertar, dé doble clic para abrir el editor de código y

escriba el siguiente código: 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 almacenarán los valores de cada campo de

texto (campo1… campo6), también se crea una variable seleccion de tipo String

que almacenará la instrucción SQL insert into. En dicha instrucción 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 envía como

parámetros los objetos seleccion (sentencia SQL) y conexion (cadena de

conexión), 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.

Page 96: libro manejo de archivos visual basic net 2010

96

Ejecutar el proyecto

Al ejecutarse el proyecto, se debe digitar la información solicitada en cada campo de

texto y pulsar el botón 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 3 Button, 1

DataGridView.

Page 97: libro manejo de archivos visual basic net 2010

97

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).

Page 98: libro manejo de archivos visual basic net 2010

98

Escribir código

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 también las operaciones con la base de datos

SQL Server.

b) Después 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 conexión para SQL

Server.

c) Dé doble clic sobre el formulario para abrir el editor de código 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

Page 99: libro manejo de archivos visual basic net 2010

99

El procedimiento cargar_datos recibe como parámetros 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 conexión. 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 cuadrícula para cargar los datos y se obtiene la posición del primer registro de

la cuadrícula (FirstDisplayedScrollingRowIndex = transaccion.Position).

Utilizando dos bloques catch se atrapan las excepciones SQLException (por si

existe algún error en la ejecución de las sentencias SQL) y Exception (por si

existe algún problema con el sistema).

d) Seleccione el objeto botoncargar, dé doble clic para abrir el editor de código y

escriba el siguiente código:

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 enviándole la

sentencia SQL “Select * from clientes” y el objeto tabla.

e) Seleccione el objeto botonnuevo, dé doble clic para abrir el editor de código y

escriba el siguiente código:

transaccion.AddNew()

Se utiliza el método 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 código y

escriba el siguiente código:

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 vacía por medio del método Update del

objeto adaptador se guarda la nueva fila en la tabla clientes, enviándole 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 vacía se muestra el mensaje “No se

pudo guardar el registro”.

Page 100: libro manejo de archivos visual basic net 2010

100

Ejecutar el proyecto

Al ejecutarse el proyecto y pulsar el botón Cargar Datos, se visualizarán 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 botón Agregar Registro, se seleccionará en una nueva fila el primer

campo del objeto tabla, el formulario queda de la siguiente forma:

Figura 4.8 Cuadrícula con una nueva fila para insertar datos.

Si se captura la información en cada campo de la cuadrícula y luego se pulsa el

botón Guardar Registro, se insertarán los datos en la tabla clientes. En la siguiente

figura se aprecia el registro insertado:

Page 101: libro manejo de archivos visual basic net 2010

101

Figura 4.9 Cuadrícula con un nuevo registro insertado en la tabla clientes.

4.1.3 Buscar registros por un campo específico

Dentro de un proyecto llamado ConsultaPorCampo, diseñar un programa que permita

buscar una ciudad específica en la tabla clientes y visualizar todos los registros que

cumplan la condición en un control DataGridView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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:

Page 102: libro manejo de archivos visual basic net 2010

102

Tabla 4.3 Propiedades de controles proyecto ConsultaPorCampo.

Control Propiedad Valor

Label1 Name titulo

Text Ciudad a Buscar:

TextBox1 Name campobusqueda

Text blanco

Button1 Name botonbuscar

Text Buscar

DataGridView1 Name tabla

Form1 Name formulario

Text 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 código

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 código y

escriba el siguiente código:

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

Page 103: libro manejo de archivos visual basic net 2010

103

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, también se crea una variable

seleccion de tipo String que almacenará la instrucción SQL Select. En dicha

instrucción se selecciona todos los campos de la tabla clientes (Select * from

clientes), y se utiliza la cláusula where para mostrar sólo 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 envía como parámetros los

objetos seleccion (sentencia SQL) y conexion (cadena de conexión), 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 botón Buscar, se mostrará en la

cuadrícula 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.

Page 104: libro manejo de archivos visual basic net 2010

104

4.1.4 Buscar registros por cualquier campo de una tabla

Dentro de un proyecto llamado ConsultaCualquierCampo hacer un programa que

permita realizar una búsqueda de información en la tabla clientes por cualquier campo

de dicha tabla y visualizar todos los registros que cumplan la condición en un control

DataGridView.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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 Propiedad Valor

Label1 Text Búsqueda de registros

por cualquier campo de

una tabla.

name titulo

Font /Bold true

Label2 Text Campo

name txtcampo

Label3 Text Operador

name txtoperador

Label4 Text Criterio

name txtcriterio

TextBox1 name valorcampo

Page 105: libro manejo de archivos visual basic net 2010

105

Button1 name boton

Text Consultar

ComboBox1 name listacampos

ComboBox2 name listaoperadores

DataGridView1 Name tabla

Form1 Name formulario

Text Búsqueda de registros

en una tabla.

Figura 4.14 Interfaz de usuario modificada (ConsultaCualquierCampo).

Escribir código

a) Seleccione el control listacampos, busque la propiedad Items, dé clic en los tres

puntos al lado de Colección y en la ventana Editor de la colección Cadena,

escriba por cada línea un campo de la tabla clientes y pulse el botón Aceptar.

Otra forma es dar clic sobre la flecha del control en la parte superior derecha y

seleccionar la opción Editar elementos. La ventana de edición deberá quedar

como se muestra en la figura:

Figura 4.15 Ventana Editor del objeto listacampos.

Page 106: libro manejo de archivos visual basic net 2010

106

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

tres puntos al lado de Colección y en la ventana Editor de la colección Cadena,

escriba por cada línea los operadores: <, >=, <, >=, =, <>, luego pulse el botón

Aceptar. La ventana de edición 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 código y escriba

el siguiente código:

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

Page 107: libro manejo de archivos visual basic net 2010

107

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; también se crea una variable seleccion de tipo String que

almacenará la instrucción SQL Select. En dicha instrucción se selecciona todos

los campos de la tabla clientes (Select * from clientes), y se utiliza la cláusula

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

envía como parámetros los objetos seleccion (sentencia SQL) y conexion

(cadena de conexión), 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 botón Consultar,

se visualizará en la cuadrícula 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, diseñar un programa que

permita realizar una búsqueda de información 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 condición unido al campo representante.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 2 Label, 1 TextBox, 1

ListBox, 1 DataGridView.

Page 108: libro manejo de archivos visual basic net 2010

108

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 Propiedad Valor

Label1 Text Consulta de registros

mientras se escribe.

name titulo

Font /bold true

Label2 Text Empresa a Buscar:

name txtbusqueda

Textbox1 name campobusqueda

ListBox1 Name listaempresas

DataGridView1 Name Tabla

Form1 Name formulario

Text Consulta de Registros.

Figura 4.19 Interfaz de usuario modificada (ConsultaMientrasSeEscribe).

Page 109: libro manejo de archivos visual basic net 2010

109

Escribir código

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) Después 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 código del

procedimiento formulario_ Load y escriba el siguiente código:

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 instrucción se selecciona los campos empresa y representante

de la tabla clientes (Select empresa, representante from clientes). Al

ejecutarse el formulario se realiza la conexión 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 código del

procedimiento campobusqueda_TextChanged y escriba el siguiente código:

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

Page 110: libro manejo de archivos visual basic net 2010

110

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 búsqueda 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 instrucción se selecciona el campo empresa de la tabla clientes

(Select empresa from clientes), y se utiliza la cláusula 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 colección resultante de los registros que cumplan

la condición de la propiedad Select (empresa like “????%”) del objeto

tabladedatos. Por otro lado, se borran todos elementos (Items) anteriores del

objeto listaempresas utilizando la función clear (). Con la instrucción

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

función 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 carácter “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 sílaba “ca”, se borrarán los elementos

actuales del objeto listaempresas y se visualizarán los registros cuyo nombre de

empresa empiezan por “ca”.

Page 111: libro manejo de archivos visual basic net 2010

111

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 cuadrícula.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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:

Page 112: libro manejo de archivos visual basic net 2010

112

Tabla 4.6 Propiedades de controles proyecto ConsultarConInstruccionesSQL.

Control Propiedad Valor

Label1 Text Consultar una base de

datos utilizando

instrucciones SQL.

name titulo

Font /bold True

Label2 Text Digite Código SQL:

name texto

TextBox1 name textosql

Multiline true

Button1 name boton

Text Ejecutar

DataGridView1 Name tabla

Form1 Name formulario

Text Consultar con SQL.

Figura 4.23 Interfaz de usuario modificada (ConsultarConInstruccionesSQL).

Escribir código

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 código y escriba el

siguiente código:

Dim conexion As String conexion = "Data Source=(local)\SQLEXPRESS;Database=bdlibrovbnet;

Page 113: libro manejo de archivos visual basic net 2010

113

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 envía como parámetros los objetos seleccion (sentencia SQL) y

conexion (cadena de conexión), 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 demás registros de la tabla en una cuadrícula.

Page 114: libro manejo de archivos visual basic net 2010

114

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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 Propiedad Valor

Label1 Text Eliminar registros de la

tabla clientes.

name titulo

Font /bold true

Label2 Text Nit a Eliminar:

name etiquetaeliminar

Label3 Text Consultar Tabla

name etiquetaconsulta

TextBox1 name textoeliminar

Button1 name boton

Text Eliminar Registros

DataGridView1 Name Tabla

Form1 Name formulario

Text Eliminar registros de

una tabla.

Page 115: libro manejo de archivos visual basic net 2010

115

Figura 4.26 Interfaz de usuario modificada (EliminarRegistrosTabla).

Escribir código

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 código y escriba el

siguiente código:

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

Page 116: libro manejo de archivos visual basic net 2010

116

Se crean las variables: clave que almacenará el valor que esté escrito en

el objeto textoeliminar; seleccion de tipo String almacenará la instrucción SQL

Delete. En dicha instrucción se eliminarán 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 acción de

eliminación 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 botón Eliminar, se visualizará una caja

de mensajes con el mensaje “Esta Seguro de eliminar los registros con Nit=900”. Si

el usuario pulsa el botón 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.

Page 117: libro manejo de archivos visual basic net 2010

117

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 cuadrícula.

Crear la interfaz de usuario.

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición 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 Propiedad Valor

Label1 Text Actualización del

campo CIUDAD de la

tabla clientes.

name titulo

Font /bold true

Label2 Text Nueva Ciudad:

name etiquetaciudad

TextBox1 name textociudad

Button1 name boton

Text Actualizar Ciudad

DataGridView1 Name tabla

Form1 Name formulario

Text Actualizar un campo de

una tabla.

Page 118: libro manejo de archivos visual basic net 2010

118

Figura 4.30 Interfaz de usuario modificada (ActualizarRegistrosTabla).

Escribir código

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 código y escriba el

siguiente código:

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

Page 119: libro manejo de archivos visual basic net 2010

119

Se crean las variables: clave que almacenará el valor que esté escrito en

el objeto textociudad; seleccion de tipo String que almacenará la instrucción

SQL Update. En dicha instrucción se actualizarán 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 acción de

actualización 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 botón Actualizar Ciudad, se

visualizará una caja de mensajes con el mensaje “Esta Seguro de Actualizar los

registros”. Si el usuario pulsa el botón 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.

Page 120: libro manejo de archivos visual basic net 2010

120

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 específico y ubique los

siguientes controles en el formulario en la posición 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).

Page 121: libro manejo de archivos visual basic net 2010

121

Seleccione la opción “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 Valor

MicrosoftReportViewer1 Name reporte

Form1 Name formulario

Text Reporte de una tabla.

Figura 4.36 Interfaz de usuario modificada (InformeDatosTabla).

Page 122: libro manejo de archivos visual basic net 2010

122

Diseñar el informe

Para diseñar el informe, pulse la flecha del lado superior derecho del objeto reporte

para ver la ventana Tareas de ReportViewer y escoja la opción Diseñar nuevo

informe.

Figura 4.37 Seleccionar Diseñar nuevo informe.

Al seleccionar Diseñar nuevo informe, se visualizará la siguiente figura:

Figura 4.38 Asistente para informes.

Page 123: libro manejo de archivos visual basic net 2010

123

Dé clic en Siguiente> para ver la ventana del Asistente para la configuración

de orígenes de datos.

Figura 4.39 Asistente para la configuración de orígenes de datos.

Seleccione el objeto Base de datos y pulse el botón Siguiente>, para visualizar

la ventana de elección de la base de datos:

Figura 4.40 Ventana Elegir la conexión de datos.

Page 124: libro manejo de archivos visual basic net 2010

124

Dé clic en el botón Nueva Conexión. 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 conexión.

Al pulsar el botón Aceptar se visualizará nuevamente la ventana de elección de

conexión 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:

Page 125: libro manejo de archivos visual basic net 2010

125

Figura 4.43 Ventana Microsoft Visual Studio.

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto y visualizará la ventana de guardar cadena de conexión:

Figura 4.44 Ventana Guardar cadena de conexión.

Cambie el nombre de la conexión que allí aparece por conexion y pulse el botón

Siguiente>, se visualizará la siguiente figura:

Figura 4.45 Ventana de elección de objetos de la base de datos.

Page 126: libro manejo de archivos visual basic net 2010

126

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 botón 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 selección de tipo de informe.

Figura 4.47 Asistente para informes – seleccionar el tipo de informe.

Page 127: libro manejo de archivos visual basic net 2010

127

Seleccione la opción Tabular o Matriz y dé clic en Siguiente> para visualizar

la ventana de diseño de tabla.

Figura 4.48 Asistente para informes – diseñar la tabla.

Seleccione cada campo y pulse el botón Detalles>. Se obtendrá la siguiente

figura:

Figura 4.49 Diseño de la tabla con los campos seleccionados.

Page 128: libro manejo de archivos visual basic net 2010

128

Dé clic en Siguiente> para visualizar la ventana de elección de diseño de la

tabla.

Figura 4.50 Asistente para informes – elegir el diseño de la tabla.

Seleccione la opción 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.

Page 129: libro manejo de archivos visual basic net 2010

129

Seleccione la opción con el estilo que desee y dé clic en Siguiente> para

visualizar la ventana de finalización del asistente de informes.

Figura 4.52 Ventana de finalización del asistente de informes.

Donde aparece el nombre del informe, cámbielo por Informe Clientes y dé clic

en Finalizar> para visualizar el diseño final del informe.

Figura 4.53 Diseño final del informe.

Page 130: libro manejo de archivos visual basic net 2010

130

En este momento se podrán modificar los textos de las etiquetas de los campos,

como también la longitud de los campos. Además en el explorador de soluciones se

visualizará el informe agregado al proyecto.

Elija la ficha de diseño del formulario y dé clic sobre la flecha del objeto

reporte y seleccione la opción Elegir informe.

Figura 4.54 Seleccionar opción 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.

Page 131: libro manejo de archivos visual basic net 2010

131

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 diseño del informe, configurar la página, cambiar el

tamaño de visualización 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 conexión a ORACLE y visualizar

los registros cuyo nit sea menor o igual a 500 en un ListView.

2. Diseñar un programa que permita eliminar los registros cuyo nombre de empresa

contengan la letra “e”.

Page 132: libro manejo de archivos visual basic net 2010

132

3. Hacer un programa que permita realizar una conexión a SQL Server y aumentar

en 10 días la fecha de entrega de la tabla pedidos.

4. Crear un programa que permita realizar una conexión a una base de datos e

insertar datos. Sólo 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

condición es que la ciudad tenga en su segundo carácter 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. Diseñar un programa que permita visualizar los registros que se van a eliminar

de una tabla en una cuadrícula.

10. Crear un programa que permita visualizar los registros de una tabla en una

cuadrícula. Cada vez que el usuario seleccione un registro se deberán 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 común. Dichas tablas se pueden relacionar por el campo común para

manipular la información de los registros de dos o más tablas. Con la relación de tablas

también se puede realizar el desplazamiento y la operación de los registros de dichas

tablas. Como se ha podido observar, en los capítulos anteriores se ha realizado la

conexión a las bases de datos SQL Server, Access y Oracle, como también 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 información).

5.1 Ejemplos de relación 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

observación de la tabla pedidos de la base de datos bdlibrovbnet.mdf en una

cuadrícula.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Label, 1 Button, 1

Page 133: libro manejo de archivos visual basic net 2010

133

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 Propiedad Valor

Label1 Text Relación de las tablas

clientes y pedidos de

bdlibrovbnet.mdf.

name titulo

Font /bold true

Button1 Text Ejecutar

name boton

DataGridView1 Name tabla

Form1 Name formulario

Text Relación de tablas de

una base de datos.

Figura 5.2 Interfaz de usuario modificada (RelacionarDosTablas).

Page 134: libro manejo de archivos visual basic net 2010

134

Escribir código

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 código y escriba el

siguiente código:

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.observacíon 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

instrucción SQL. En dicha instrucción se relacionan las tablas clientes y pedidos

con la cláusula 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 relación de estás

(FROM clientes INNER JOIN pedidos) y utilizando la cláusula ON se compara

el campo común entre las dos tablas, para el ejemplo el campo común es nit.

Page 135: libro manejo de archivos visual basic net 2010

135

Por último se ejecuta la instrucción SQL y se rellena el objeto tabla con los

registros que cumplan la condición de relación entre las tablas clientes y

pedidos.

Ejecutar el proyecto

Al ejecutarse el proyecto, se visualizará la figura 5.2. Si se pulsa el botón Ejecutar, se

visualizarán todos los registros relacionados de las tablas clientes y pedidos. Solamente

se visualizarán los registros cuyo nit de la tabla pedidos exista en la tabla clientes.

Figura 5.3 Formulario con la relación de las tablas clientes - pedidos.

5.1.2 Relación 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 2 Label, 2 DataGridView.

Figura 5.4 Interfaz de usuario (RelacionConDataGridView).

Page 136: libro manejo de archivos visual basic net 2010

136

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 Propiedad Valor

Label1 Text Clientes

name etiquetaclientes

Label2 Text Pedidos

name etiquetapedidos

DataGridView1 Name tablaclientes

DataGridView2 Name tablapedidos

Form1

Name formulario

Text Relación de tablas con DataGridView.

Figura 5.5 Interfaz de usuario modificada (RelacionConDataGridView).

Page 137: libro manejo de archivos visual basic net 2010

137

Escribir código

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 código del

procedimiento formulario_ Load y escriba el siguiente código:

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 conexión a la base de datos bdlibrovbnet.mdf de SQL Server. En

un bloque Try se abre la conexión utilizando la función Open del objeto

nvaconexion, además 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 parámetros la selección 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

parámetros la selección de todos los registros de la tabla pedidos y el objeto

nvaconexion. Por otro lado, se rellenan los objetos datosclientes y

Page 138: libro manejo de archivos visual basic net 2010

138

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 operación de selección completa de la fila

(DataGridViewSelectionMode.FullRowSelect). Utilizando la propiedad

Relations y la función Add del objeto conjuntodedatos se crea un alias

llamado relacion para definir la relación entre las tablas clientes y pedidos por

el campo común (nit). Al objeto tablapedidos en su propiedad DataMember se

le asigna la relación de las tablas (clientes.relacion), en la propiedad

DataSource el conjunto de datos y en la propiedad SelectionMode se le asigna

la operación de selección 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 cuadrícula se mostrarán en la segunda cuadrícula

los registros relacionados entre las tablas clientes - pedidos.

Figura 5.6 Relación de las tablas clientes – pedidos con DataGridView.

5.1.3 Relación 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

cuadrícula los pedidos que ha realizado dicha empresa.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 1 Label, 1 ComboBox, 1

Button, 1 DataGridView.

Figura 5.7 Interfaz de usuario (RelacionConComboBox).

Page 139: libro manejo de archivos visual basic net 2010

139

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 Propiedad Valor

Label1 Text Seleccione empresa:

name etiquetaclientes

Button1 Text Ver Pedidos

name boton

DataGridView1 Name tablapedidos

ComboBox1 Name lista

Form1

Name formulario

Text Relación de tablas con un ComboBox.

Figura 5.8 Interfaz de usuario modificada (RelacionConComboBox).

Page 140: libro manejo de archivos visual basic net 2010

140

Establecer la conexión

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, selecciónelo en el cuadro

de verificación y pulse el botón Aceptar.). Se visualizará la siguiente figura:

Figura 5.9. Ventana Elegir la conexión de datos

Dé clic en el botón Nueva Conexión. 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 conexión.

Page 141: libro manejo de archivos visual basic net 2010

141

Pulse el botón Aceptar, para visualizar nuevamente la ventana de Elegir la

conexión de datos. Allí pulse Siguiente> para visualizar el siguiente mensaje:

Figura 5.11 Ventana Microsoft Visual Studio.

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto. Se visualizará la ventana de elección de tipo de comando:

Figura 5.12 Ventana elección tipo de comando.

Por omisión está

seleccionada la opción Usar instrucciones SQL. Pulse Siguiente> para visualizar la

ventana de generación de instrucciones SQL.

Figura 5.13 Ventana Generar las instrucciones SQL.

Page 142: libro manejo de archivos visual basic net 2010

142

Aquí se puede

realizar la selección de los datos que debería cargar el adaptador de datos. Una forma es

escribir en la ventana instrucciones SQL y la otra es pulsar el botón Generador de

consultas. Para el ejemplo se pulsará el botón y se visualiza la siguiente figura:

Figura 5.14 Ventana Generador de consultas.

Seleccione la tabla clientes, pulse el botón Agregar y luego el botón Cerrar, se

visualizará la siguiente figura:

Figura 5.15 Generador de consultas con la tabla clientes.

Page 143: libro manejo de archivos visual basic net 2010

143

En esta

nueva ventana seleccione la opción * (todas las columnas) o los campos que desea

visualizar (si desea visualizar la consulta seleccionada pulse el botón Ejecutar

consulta). Se obtendrá la siguiente figura:

Figura 5.16 Generador de consultas con los campos seleccionados (tabla clientes).

Pulse el botón Aceptar, y se visualizará la siguiente figura:

Figura 5.17 Generador de consultas con la instrucción SQL.

Page 144: libro manejo de archivos visual basic net 2010

144

Al pulsar el botón Finalizar, se crearán 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 opción Generar Conjunto de Datos del menú Datos y se

mostrará el siguiente cuadro de diálogo:

Page 145: libro manejo de archivos visual basic net 2010

145

Figura 5.19 Ventana Generar conjunto de datos.

Elija la opción Nuevo y cambie el nombre DataSet1 por conjuntodedatos,

deshabilite el cuadro de verificación pedidos (datospedidos) y pulse el botón Aceptar

para agregar el conjunto de datos a la aplicación, como muestra la figura:

Figura 5.20 Formulario con el objeto conjuntodedatos.

Escribir código

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

Page 146: libro manejo de archivos visual basic net 2010

146

de nombres:

Imports System.Data.SqlClient Public Class formulario …… End Class

b) Después 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 código del

procedimiento formulario_ Load y escriba el siguiente código:

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 código y escriba el

siguiente código:

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 código del

procedimiento lista_SelectedIndexChanged y escriba el siguiente código:

Page 147: libro manejo de archivos visual basic net 2010

147

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, mostrándose en el objeto lista el

primer nombre de empresa de la tabla clientes (si se desea ver los nombres de empresas

ordenados alfabéticamente, cambie el valor de la propiedad sorted del objeto lista por

true). Si selecciona un nombre de empresa y se pulsa el botón Ver Pedidos, se

visualizará en la cuadrícula todos los registros que estén relacionados con la tabla

pedidos.

Figura 5.21 Relación 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 1

MicrosoftReportViewer.

Figura 5.22 Interfaz de usuario (ReporteTablasRelacionadas).

Page 148: libro manejo de archivos visual basic net 2010

148

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 Propiedad Valor

MicrosoftReportViewer1 Name reporte

Form1

Name formulario

Text Reporte con tablas relacionadas.

Figura 5.23 Interfaz de usuario modificada (ReporteTablasRelacionadas).

Del menú Ver seleccione la opción Explorador de servidores, para visualizar

Page 149: libro manejo de archivos visual basic net 2010

149

la siguiente figura:

Figura 5.24 Ventana Explorador de servidores.

Al pulsar el icono conectar con bases de datos , se visualizará lá ventana de

Agregar conexión como muestra la figura:

Figura 5.25 Ventana Agregar conexión.

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.

Page 150: libro manejo de archivos visual basic net 2010

150

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 opción Agregar nueva vista, selecciónela para

visualizar la ventana Agregar tabla.

Figura 5.28 Ventana Agregar tabla.

Page 151: libro manejo de archivos visual basic net 2010

151

Agregue las tablas clientes, pedidos y pulse el botón Cerrar. Por otro lado, de

la tabla clientes seleccione los campos nit, empresa, representante y de la tabla

pedidos nropedido, fechaentrega, fechavence, observacíon. Se obtendrá la siguiente

figura:

Figura 5.29 Vista con las tablas clientes – pedidos.

Cierre la ventana de la vista (parte superior derecha), para ver la ventana de

guardar el cambio de la vista.

Figura 5.30 Ventana guardar cambio de la vista.

Page 152: libro manejo de archivos visual basic net 2010

152

Dé clic sobre el botón 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 botón Aceptar,

para guardar la vista en la base de datos.

Figura 5.32 Base de Datos con la vista tablasrelacionadas.

Page 153: libro manejo de archivos visual basic net 2010

153

Elija la ficha de diseño del formulario y dé clic sobre la flecha del objeto

reporte y seleccione la opción Diseñar nuevo informe.

Figura 5.33 Seleccionar opción Diseñar nuevo informe del objeto reporte.

Al seleccionar dicha opción se visualizará la ventana del asistente de informes.

Figura 5.34 Asistente para informes.

Page 154: libro manejo de archivos visual basic net 2010

154

Dé clic en Siguiente, para ver la ventana de configuración de orígenes de datos.

Figura 5.35 Asistente para la configuración de orígenes de datos.

Dé clic en el botón Nueva Conexión. 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.

Page 155: libro manejo de archivos visual basic net 2010

155

Pulse Siguiente> para visualizar el siguiente mensaje:

Figura 5.37 Ventana Microsoft Visual Studio.

Pulse el botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

proyecto y visualizará la ventana de guardar cadena de conexión:

Figura 5.38 Ventana Guardar cadena de conexión.

Cambie el nombre de la conexión que allí aparece por conexion y pulse el botón

Siguiente>, se visualizará la siguiente figura:

Page 156: libro manejo de archivos visual basic net 2010

156

Figura 5.39 Ventana de elección 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 botón Finalizar, para

visualizar la figura 5.40:

Figura 5.40 Asistente para informes – seleccionar el origen de datos.

Page 157: libro manejo de archivos visual basic net 2010

157

Pulse los signos (+) para desplegar la vista. Dé clic en Siguiente> para visualizar

la ventana de selección de tipo de informe.

Figura 5.41 Asistente para informes – seleccionar el tipo de informe.

Seleccione la opción Tabular o Matriz y de clic en Siguiente> para visualizar

la ventana de diseño de tabla.

Figura 5.42 Asistente para informes – diseñar la tabla.

Page 158: libro manejo de archivos visual basic net 2010

158

Seleccione los campos nit, empresa, representante y sitúelos en la casilla

Grupo>, el resto de campos en la casilla Detalles>. Se observará la siguiente figura:

Figura 5.43 Diseño de la tabla con los campos seleccionados.

Dé clic en Siguiente> para visualizar la ventana de elección de diseño de la

tabla.

Figura 5.44 Asistente para informes – elegir el diseño de la tabla.

Page 159: libro manejo de archivos visual basic net 2010

159

Seleccione la opción 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 opción con el estilo que desee y dé clic en Siguiente> para

visualizar la ventana de finalización del asistente de informes.

Figura 5.46 Ventana de finalización del asistente de informes.

Page 160: libro manejo de archivos visual basic net 2010

160

Donde aparece el nombre del informe cámbielo por Informe Clientes - Pedidos

y dé clic en Finalizar> para visualizar el diseño final del informe.

Figura 5.47 Diseño final del informe.

En este momento se podrán modificar los textos de las etiquetas de los campos,

como también la longitud de los campos. Además en el explorador de soluciones se

visualizará el informe agregado al proyecto.

Elija la ficha de diseño del formulario y dé clic sobre la flecha del objeto

reporte y seleccione la opción Elegir informe.

Figura 5.48 Seleccionar opción Elegir informe.

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

visualizar el formulario con los objetos conjuntodedatos,

tablasrelacionadasBindingSource y tablasrelacionadasTableAdapter.

Page 161: libro manejo de archivos visual basic net 2010

161

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 diseño del informe, configurar la página, cambiar el

tamaño de visualización del informe y buscar texto dentro del informe.

Figura 5.50 Formulario con el reporte de la relacion clientes- pedidos.

Page 162: libro manejo de archivos visual basic net 2010

162

5.2 Ejercicios de relación de tablas

1. Realizar un programa que permita hacer una relación entre tres tablas de una

base de datos en SQL Server.

2. Diseñar un programa que permita realizar una relación entre dos tablas con un

filtro por el campo común.

3. Hacer un programa que permita visualizar en un reporte los registros de una

relación de tres tablas.

4. Crear un programa que permita realizar una relación de tres tablas; para la

primera relación 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 relación en un segundo DataGridView.

5. Elaborar un programa que permita realizar una relación 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. Diseñar 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.

Page 163: libro manejo de archivos visual basic net 2010

163

6. MANEJO DE ARCHIVOS CON ASP.NET

ASP.NET es un marco de trabajo de programación que se ejecuta desde un servidor

Web que genera y administra dinámicamente formularios Web. ASP.NET ofrece varias

ventajas importantes:

Mejor rendimiento. ASP.NET es un código de Common Language Runtime

compilado que se ejecuta en el servidor. ASP.NET aprovecha las ventajas del

enlace anticipado, la compilación just-in-time, la optimización 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 diseñador y una caja de herramientas muy

completos en el entorno integrado de programación (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 Mensajería y las soluciones de acceso a datos se

encuentran accesibles desde el Web de manera uniforme.

Simplicidad. El marco de trabajo de página de ASP.NET permite generar

interfaces de usuario que separan claramente la lógica de aplicación del código

de presentación, 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 configuración jerárquico,

basado en texto, que simplifica la aplicación de la configuración al entorno de

servidor y las aplicaciones Web. Debido a que la información de configuración

se almacena como texto sin formato, se puede aplicar la nueva configuración sin

ayuda de herramientas de administración local.

Escalabilidad y disponibilidad. ASP.NET se ha diseñado teniendo en cuenta la

escalabilidad, con características diseñadas específicamente a medida, con el fin

de mejorar el rendimiento en entornos agrupados y de múltiples procesadores.

Posibilidad de personalización y extensibilidad. ASP.NET presenta una

arquitectura bien diseñada que permite a los programadores insertar su código en

el nivel adecuado.

Seguridad. Con la autenticación de Windows integrada y la configuración por

aplicación, se puede tener la completa seguridad de que las aplicaciones están a

salvo.

6.1 Manejo de Archivos de texto con ASP.NET.

Como se vio en el Capítulo 1, Visual Basic .NET permite interactuar con datos externo

a un proyecto, realizar las diferentes operaciones con archivos de texto plano, como son:

la creación, eliminación, sobreescritura de archivos, así como guardar, leer o adicionar

información a éstos, además importar o exportar información desde y hacia Visual

Page 164: libro manejo de archivos visual basic net 2010

164

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

Studio 2008 también 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, además de clases

para las operaciones de rutas de acceso y la manipulación 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 creación, la interfaz de usuario, el establecimiento de propiedades de los

controles, la escritura de código y la ejecución de un nuevo sitio Web.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario Web en la posición deseada: 1 Label, 1 TextBox,

1 Button, 1 FileUpLoad.

Figura 6.1 Interfaz de usuario (FileUpLoadArchivoTexto).

Page 165: libro manejo de archivos visual basic net 2010

165

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 Propiedad Valor

Label1 id titulo

Text Cargar Archivo en un Formulario Web.

Font - Bold true

TextBox1 id texto

Text En blanco

TextMode Multiline

Button1 id boton

Text Cargar Archivo

FileUpLoad1 id cargadorarchivos

Form1 id formulario

Document Title Cargar Archivo en Formulario Web.

Default.aspx.vb Nombre de archivo (dé clic derecho sobre la página).

pagina.aspx.vb

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 posición de un objeto, seleccione

dicho objeto y del menú Formato escoja la opción Posición y allí en el Estilo de

ubicación señale el cuadro con el rótulo de nombre Relativo para poder movilizar o

cambiar de tamaño el objeto escogido.

Page 166: libro manejo de archivos visual basic net 2010

166

Escribir código

a) Seleccione el objeto boton, dé doble clic para abrir el editor de código

botonguardar_Click y escriba el siguiente código:

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 & "Tamaño 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 método HasFile. Si la respuesta es verdadera, se determina si la longitud del

archivo es mayor que cero utilizando el método Length de la propiedad

FileBytes del objeto cargadorarchivos para visualizar en el objeto texto el tipo

de contenido del archivo por medio de la función 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 función 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 algún error, se mostrará un mensaje.

Ejecutar la aplicación Web

Para ejecutar el proyecto pulse la tecla F5 o el icono , se visualizará la siguiente

figura:

Page 167: libro manejo de archivos visual basic net 2010

167

Figura 6.3 Ejecución del sitio Web FileUpLoadArchivoTexto.

Pulse el botón Examinar, seleccione cualquier archivo de texto y luego pulse el

botón Cargar Archivo para visualizar la información relativa al archivo, así como la

ruta en donde está guardado dicho archivo; se obtendría una figura similar a la

siguiente:

Figura 6.4 Formulario Web con la información del archivo seleccionado.

Page 168: libro manejo de archivos visual basic net 2010

168

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 información en un archivo de texto plano, así como leer

dicha información, utilizando las clases StreamWriter y StreamReader.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición 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 Propiedad Valor

Label1 id titulo

Text Guardar y Leer un archivo de texto.

Font – Bold true

TextBox1 id texto

Text En blanco

TextMode Multiline

Button1 id botonguardar

Text Guardar Información

Button2 id botonabrir

Text Leer Información

Form1 id formulario

Document Title Guardar/leer archivo de texto

Default.aspx.vb Nombre de archivo (dé clic derecho sobre la página).

pagina.aspx.vb

Page 169: libro manejo de archivos visual basic net 2010

169

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

Figura 6.6 Interfaz de usuario modificada (GuardarLeerArchivodeTexto).

Escribir código

a) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código:

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("Información 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 física 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 función MapPath de la propiedad Server del espacio de nombres

System.Web.HttpServerUtility; la variable archivo asignándosele un espacio

de memoria de tipo System.IO.StreamWriter (), a la cual se le envía como

parámetro la ruta y el nombre del archivo (miruta). Utilizando el método Write

se escribe el contenido del objeto texto en el archivo. Por otro lado, se cierra el

archivo utilizando el método close () y se limpia el objeto texto. Además se

muestra un mensaje confirmando la acción realizada.

b) Seleccione el objeto botonleer, dé doble clic para abrir el editor de código y

escriba el siguiente código:

Try Dim miruta As String = Server.MapPath("./miarchivo.txt")

Page 170: libro manejo de archivos visual basic net 2010

170

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 física 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 función MapPath de la propiedad Server del espacio de nombres

System.Web.HttpServerUtility; la variable archivo asignándosele un espacio

de memoria de tipo System.IO.StreamReader (). Utilizando el método

ReadToEnd se lee el contenido del archivo y se le asigna al objeto texto. Por

último se cierra el archivo.

Ejecutar la aplicación Web

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

visualizará la ventana de depuración.

Figura 6.7 Ventana de Depuración.

Seleccione la opción Modificar el archivo Web.config para habilitar la

depuración y pulse el botón Aceptar. Se visualizará la figura 6.8. Al digitar el texto

“guardando información en el archivo de texto”, el formulario Web presentaría el

siguiente aspecto:

Figura 6.8 Ejecución Pagina Web (GuardarLeerArchivodeTexto).

Page 171: libro manejo de archivos visual basic net 2010

171

Si se pulsa el botón Guardar información, se limpia el objeto texto y se

mostrará una caja de mensajes reportando que la información ha sido guardada y en la

carpeta donde se guardó el sitio Web ya se debe encontrar el archivo de texto con la

información adicionada. Al pulsar el boton Leer información se mostrará en el objeto

texto la información del archivo de texto.

Figura 6.9 Mensaje de información 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 información en un archivo de texto plano, leer la información de este utilizando

la clase FileSystem.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición 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:

Page 172: libro manejo de archivos visual basic net 2010

172

Tabla 6.3 Propiedades de los controles del sitio Web FileSystem.

Control Propiedad Valor

Label1 id titulo

Text Guardar – Leer archivo de texto con FileSystem.

Font - Bold true

TextBox1 id texto

Text En blanco

TextMode Multiline

Button1 id botonguardar

Text Guardar en archivo

Button2 id botonleer

Text Leer de Archivo

Document Title Guardar/Leer Archivo de Texto.

Form1 id formulario

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Figura 6.11 Interfaz de usuario modificada (FileSystem).

Escribir código

a) Seleccione el objeto botonguardar, dé doble clic para abrir el editor de código y

escriba el siguiente código:

Try Dim archivolibre As Integer = FreeFile() FileSystem.FileOpen(archivolibre, MapPath("./archivodetexto.txt"), OpenMode.Output) FileSystem.PrintLine(archivolibre, texto.Text)

Page 173: libro manejo de archivos visual basic net 2010

173

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 código se crea una variable archivolibre de tipo Integer a

la que se le asigna el valor numérico del archivo libre por intermedio de la

función FreeFile. Por otro lado, se utiliza la función FileOpen de la clase

FileSystem que recibe como parámetros: archivolibre, valor numérico 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 método PrintLine se imprime el contenido del objeto texto, luego se limpia

dicho objeto y por último se cierra el archivo con la función FileClose. Además

se visualizará el mensaje “Información guardada en archivo”.

b) Seleccione el objeto botonabrir, de doble clic para abrir el editor de código y

escriba el siguiente código:

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 función FileOpen de la clase FileSystem que recibe como

parámetros: archivolibre, valor numérico 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 línea del archivo. Por otro lado, se

crea un ciclo (Do Until – Loop) que recorrerá el archivo hasta el final (EOF)

línea por línea y utilizando el método LineInput de la clase FileSystem se le

asignará dicha información al objeto texto, por último se cierra el archivo.

Ejecutar la aplicación Web

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

“guardando información en el archivo para leer después utilizando el botón leer de

archivo” en el objeto texto, el formulario Web con la información quedaría de la

siguiente forma:

Page 174: libro manejo de archivos visual basic net 2010

174

Figura 6.12 Formulario Web con información para ser guardada.

Al pulsar el botón Guardar en archivo, se guardará dicha información en el

archivo “archivodetexto.txt” en la ruta del sitio Web y el objeto texto quedará en

blanco. Se visualizará el mensaje “Información guardada en archivo”. Si se pulsa el

botón Leer de Archivo, se leerá el contenido del archivo de texto y se mostrará la

información en el objeto texto.

Figura 6.13 Mensaje de información guardada.

Page 175: libro manejo de archivos visual basic net 2010

175

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. Diseñar un sitio Web que permita cargar archivos sólo de extensión .doc utilizando

FileUpLoad.

4. Hacer un sitio Web que permita adicionar información a un archivo de texto

previamente creado.

5. Diseñar un sitio Web que permita importar todos los datos que existan en un archivo

de Excel y visualizarlos en un GridView (apóyese en los ejemplos del capítulo 1).

6. Elaborar un sitio Web que permita importar todos los datos que existan en un

archivo de Excel y visualizarlos en un DataList (apóyese en los ejemplos del

capítulo 1).

7. Hacer un sitio Web que permita exportar un rango de datos a una tabla de Word

(apóyese en los ejemplos del capítulo 1).

8. Crear un sitio Web que permita importar los datos de un archivo de texto a un

GridView (apóyese en los ejemplos del capítulo 1).

9. Diseñar un sitio Web que permita exportar los datos de un control DataList a Excel

(apóyese en los ejemplos del capítulo 1).

10. Realizar un sitio Web que permita exportar los datos de un GridView a Word

(apóyese en los ejemplos del capítulo 1).

Page 176: libro manejo de archivos visual basic net 2010

176

7. BASE DE DATOS CON ASP.NET

Con los proyectos Windows Forms se logró manipular diferentes bases de datos, como

fue realizar la conexión a las bases de datos SQL Server, Access y Oracle, el

desplazamiento entre los registros de una tabla, las operaciones entre una o más tablas,

la creación de reportes de una o más tablas utilizando la tecnología ADO.NET.

Con ASP.NET también es posible realizar dicha manipulación 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

conceptualización sobre bases de datos y el manejo del lenguaje de consulta

estructurado SQL realizada en el Capítulo 2.

En este capítulo se crearán ejemplos que permitan utilizar los diferentes

controles Web para conectarse, desplazarse, realizar operaciones con una o más 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 creación, la interfaz de usuario, el establecimiento de propiedades

de los controles, la escritura de código y la ejecución de un nuevo sitio Web.

7.1 Ejemplos de manipulación 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 específico y ubique los

siguientes controles en la página Web en la posición deseada: 1 Button, 1 TextBox y 1

Label.

Figura 7.1 Interfaz de usuario (WebCamposTabla).

Page 177: libro manejo de archivos visual basic net 2010

177

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 Propiedad Valor

Label1 id titulo

Text Estructura de la tabla clientes.

Font - Bold true

TextMode Multiline

TextBox1 id texto

Text blanco

Button1 id boton

Text Ver Estructura

Form1 id formulario

Document title Estructura de la tabla clientes de SQL Server,

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Figura 7.2 Interfaz de usuario modificada (WebCamposTabla).

Escribir código

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

Page 178: libro manejo de archivos visual basic net 2010

178

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 aplicación Web, en este caso SQL Server.

b) Seleccione el objeto boton, dé doble clic para abrir el editor de código y escriba

el siguiente código:

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 += "Conexión 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

conexión a la base de datos de SQL Server. La cadena de conexión debe

contener como mínimo los siguientes parámetros:

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

dirección 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 asignación 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

conexión (conexion), luego se rellena (fill) el objeto selección con el conjunto

de datos y el nombre de la tabla, como también se libera dicho objeto (nothing).

Por otro lado, se crea una variable llamada consulta de tipo String que

almacenará la cadena de conexión y la estructura de la tabla. Además 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

Page 179: libro manejo de archivos visual basic net 2010

179

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 aplicación Web

Al ejecutarse la aplicación Web, se visualizará la figura 7.3:

Figura 7.3 Ejecución sitio del Web WebCamposTabla.

Al pulsarse el botón Ver Estructura se visualizará la cadena de conexión, 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.

Page 180: libro manejo de archivos visual basic net 2010

180

7.1.2 Conexión 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 conexión a una base de datos de SQL Server y

mostrar los datos de una tabla llamada clientes en un objeto GridView, utilizando

código de Visual Basic .NET.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición 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 Propiedad Valor

GridView1 id tabla

Label1 id titulo

Text Conexión a una base de datos de SQL SERVER – tabla clientes.

Font - Bold true

Label2 id etiquetaregistros

Text blanco

Font - Bold True

Form1 id formulario

Document title Conexión a una base de datos

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

Page 181: libro manejo de archivos visual basic net 2010

181

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

Figura 7.6 Interfaz de usuario modificada (ConexionBDWebSQLServer).

Escribir código

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 página para abrir el editor de código del procedimiento

Page_Load y escriba el siguiente código:

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

Page 182: libro manejo de archivos visual basic net 2010

182

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

cuadrícula 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 envía como

parámetros los objetos seleccion (datos a mostrar) y conexion (cadena de

conexión), 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 asignársele 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 número 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 aplicación Web

Al ejecutarse la aplicación Web, se visualizará en la página 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.

Page 183: libro manejo de archivos visual basic net 2010

183

7.1.3 Conexión a SQL Server con el control DetailsView

Dentro de un sitio Web llamado ConexionWebDetailsView, realizar un programa que

permita a un usuario hacer una conexión 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 específico y ubique los

siguientes controles en la página Web en la posición 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 Propiedad Valor

DetailsView1 id detalles

Label1 id titulo

Text Conexión a una base de datos de SQL SERVER - DetailsView.

Font - Bold true

Form1 id formulario

Document title Conexión a una base de datos con un DetailsView

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Page 184: libro manejo de archivos visual basic net 2010

184

Figura 7.9 Interfaz de usuario con controles modificados.

Establecer la conexión

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 opción Elegir origen de datos y <Nuevo origen de datos…>,

para visualizar la siguiente figura:

Page 185: libro manejo de archivos visual basic net 2010

185

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 botón Aceptar, para ver la siguiente figura:

Figura 7.12 Ventana Elegir la conexión de datos.

Page 186: libro manejo de archivos visual basic net 2010

186

Pulse el botón Nueva Conexión, se visualizará la ventana de Agregar

conexión:

Figura 7.13 Ventana Agregar conexión.

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.

Page 187: libro manejo de archivos visual basic net 2010

187

Pulse el botón Siguiente> para visualizar el siguiente mensaje:

Figura 7.15 Ventana configuración de origen de datos.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 7.16 Ventana para configurar la instrucción Select.

Page 188: libro manejo de archivos visual basic net 2010

188

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 opción

seleccione la tabla cliente y elija * para ver todos los registros de la tabla clientes y

pulse el botón Siguiente para ver la ventana Consulta de prueba.

Figura 7.17 Ventana Consulta de prueba.

Pulsando el botón Consulta de prueba se visualizarán los datos, como se

aprecia en la figura 7.17. Pulse el botón Finalizar para volver al diseño de la página:

Figura 7.18 Ventana de diseño pagina.aspx.

Page 189: libro manejo de archivos visual basic net 2010

189

Ejecutar la aplicación Web

Al ejecutarse la aplicación Web, se visualizará en la página 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 diseño 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 verificación

Habilitar paginación, como se aprecia en la siguiente figura:

Figura 7.20 Objeto detalles con la opción Habilitar paginación.

Page 190: libro manejo de archivos visual basic net 2010

190

Nuevamente ejecute el sitio Web para visualizar la página Web con la

paginación de registros.

Figura 7.21 Página Web con registros de la tabla clientes y paginación.

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

seleccionando el valor numérico que desee. También es posible obtener una apariencia

más agradable para visualizar los datos en el objeto detalles. Otra vez en modo de

diseño seleccione el objeto detalles y en la ventana Tareas de DetailsView seleccione

la opción Formato automático para ver la ventana Autoformato.

Figura 7.22 Ventana para cambio de formato del DetailsView.

Page 191: libro manejo de archivos visual basic net 2010

191

Si selecciona el esquema Pizarra y se pulse el botón Aceptar, se obtendrá en

modo diseño 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 Página Web con el objeto DetailsView con formato Pizarra.

Page 192: libro manejo de archivos visual basic net 2010

192

7.1.4 Página 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 específico y ubique los

siguientes controles en la página Web en la posición deseada: 1 ListView.

Figura 7.25 Interfaz de usuario (WebListViewDataPager).

Page 193: libro manejo de archivos visual basic net 2010

193

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 Propiedad Valor

ListView1 id lista

Form1 id formulario

Document title Desplazamiento de registros con un ListView.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

Establecer la conexión

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 opción Elegir origen de datos y <Nuevo origen de datos…>,

para visualizar la siguiente figura:

Figura 7.27 Ventana tipo origen de datos.

Page 194: libro manejo de archivos visual basic net 2010

194

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

datos SqlDataSource1 por datos y pulse el botón Aceptar, para ver la siguiente figura:

Figura 7.28 Ventana elegir la conexión de datos.

Page 195: libro manejo de archivos visual basic net 2010

195

Pulse el botón Nueva Conexión, se visualizará la ventana Agregar conexión:

Figura 7.29 Ventana Agregar conexión.

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.

Page 196: libro manejo de archivos visual basic net 2010

196

Pulse el botón Siguiente> para visualizar la ventana de configuración de origen

de datos:

Figura 7.31 Ventana configuración de origen de datos.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 7.32 Ventana para configurar la instrucción Select.

Page 197: libro manejo de archivos visual basic net 2010

197

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 opción

seleccione la tabla cliente y elija * para ver todos los registros de la tabla clientes y

pulse el botón Siguiente para ver la ventana Consulta de prueba.

Figura 7.33 Ventana Consulta de prueba.

Pulsando el botón Consulta de prueba se visualizarán los datos, como se

aprecia en la figura 7.33. Pulse el botón Finalizar para volver al diseño de la página:

Page 198: libro manejo de archivos visual basic net 2010

198

Figura 7.34 Ventana de diseño control ListView.

Ahora seleccione la opción Configurar ListView en la ventana Tareas de

ListView.

Figura 7.35. Ventana para seleccionar la opción Configurar ListView.

Al pulsar la opción se visualizará la ventana de diseño del ListView, escoja

como diseño cuadrícula, como estilo Multicolor y seleccione Habilitar paginación,

se obtendría la siguiente figura:

Figura 7.36 Configurar el tipo de diseño, el estilo y habilitar la paginación.

A

l pulsar el botón Aceptar, nuevamente se regresa a modo diseño de la página, como se

muestra en la figura:

Page 199: libro manejo de archivos visual basic net 2010

199

Figura 7.37 Modo diseño del sitio WebListViewDataPager.

Seleccione la pestaña 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 Código del objeto DataPager del sitio WebListViewDataPager.

Ejecutar sitio Web

Page 200: libro manejo de archivos visual basic net 2010

200

Al ejecutarse el sitio Web, se visualizará la página con los cinco primeros registros de la

tabla clientes, como también, los botones de desplazamiento.

Figura 7.39 Página con un ListView y botones de desplazamiento.

Si la tabla contiene más de cinco registros se activarán los botones Siguiente,

Última. El usuario podrá pulsar el botón Siguiente y se desplazará a los próximos cinco

registros de la tabla. Pulsando los diferentes botones se podrá desplazar por todos los

registros que contenga la tabla.

Figura 7.40 Página con los siguientes cinco registros.

7.1.5 Página Web para insertar registros en una tabla

Crear un sitio Web llamado InsertarDatosWeb y diseñar un programa que permita

insertar registros en una tabla utilizando el control DetailsView. Además se deben poder

visualizar en una cuadrícula los registros de dicha tabla.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición deseada: 2 Label, 1 DetailsView,

1 DataGridView.

Figura 7.41 Interfaz de usuario (InsertarDatosWeb).

Page 201: libro manejo de archivos visual basic net 2010

201

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 Propiedad Valor

Label1 ID titulo

Text Insertar un registro en la tabla Clientes

Font - Bold true

Label2 ID titulotabla

Text Registros de la tabla Clientes.

Font - Bold true

DetailsView1 ID detalles

GridView1 ID tabla

Form1 ID formulario

Document title Insertar un registro en una tabla.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Page 202: libro manejo de archivos visual basic net 2010

202

Figura 7.42 Interfaz de usuario modificada (InsertarDatosWeb).

Establecer la conexión

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.

Page 203: libro manejo de archivos visual basic net 2010

203

Seleccione la opción 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 botón Aceptar, para ver la siguiente figura:

Figura 7.45 Ventana elegir la conexión de datos.

Page 204: libro manejo de archivos visual basic net 2010

204

Pulse el botón Nueva Conexión, se visualizará la ventana Agregar conexión:

Figura 7.46 Ventana Agregar conexión.

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.

Page 205: libro manejo de archivos visual basic net 2010

205

Pulse el botón Siguiente> para visualizar la ventana de configuración de origen

de datos:

Figura 7.48 Ventana configuración de origen de datos.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 7.49 Ventana para configurar la instrucción Select.

Page 206: libro manejo de archivos visual basic net 2010

206

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla

clientes. Además pulse el botón Avanzadas para ver la ventana de opciones de

generación 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 botón Aceptar para ver nuevamente la ventana de

configurar origen de datos - datos.

Figura 7.51 Configurar origen de datos - Consulta de prueba.

Page 207: libro manejo de archivos visual basic net 2010

207

Pulse el botón Finalizar para volver al diseño de la página:

Figura 7.52 Ventana diseño del sitio Web InsertardatosWeb.

Habilite la opción Habilitar inserción en la ventana de Tareas de DetailsView.

Se observará la siguiente figura:

Figura 7.53 DetailsView con la opción Habilitar inserción habilitada.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opción

elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

Page 208: libro manejo de archivos visual basic net 2010

208

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 página 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 Página Web con los objetos DetailsView y GridView.

Page 209: libro manejo de archivos visual basic net 2010

209

Al pulsarse el link Nuevo los campos de texto del objeto detalles quedarán en

blanco y se observarán dos nuevos link Insertar y Cancelar, como se aprecia en la

figura.

Figura 7.56 Página Web para insertar registros.

Escriba en cada campo la información que se muestra en la figura 7.57.

Figura 7.57 Página Web con la información a insertar.

Page 210: libro manejo de archivos visual basic net 2010

210

Al pulsarse el link Insertar se guardarán los datos en la tabla clientes y

nuevamente se mostrará el primer registro y el link Nuevo, además se visualizará en el

objeto tabla el nuevo registro.

Figura 7.58 Página Web con el registro insertado.

7.1.6 Pagina Web para eliminar registros de una tabla

Crear un sitio Web llamado EliminarRegistrosWeb y diseñar un programa que permita

eliminar un determinado registro de la tabla clientes. El registro lo deberá escoger el

usuario por medio de la paginación de registros.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición 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:

Page 211: libro manejo de archivos visual basic net 2010

211

Tabla 7.6 Propiedades de controles del sitio EliminarRegistrosWeb.

Control Propiedad Valor

Label1 ID titulo

Text Eliminar un registro en la tabla Clientes

Font - Bold true

Label2 ID titulotabla

Text Registros de la tabla Clientes.

Font - Bold true

DetailsView1 ID detalles

GridView1 ID tabla

Form1 ID formulario

Document title Eliminar un registro en una tabla.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Figura 7.59 Interfaz de usuario (EliminarRegistrosWeb).

Establecer la conexión

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 elección del origen de datos y los pasos subsiguientes según el ejercicio

anterior (desde la figura 7.43 hasta la 7.51), obtendrá como resultado final la siguiente

figura:

Page 212: libro manejo de archivos visual basic net 2010

212

Figura 7.60 Ventana de diseño de sitio Web EliminarRegistrosWeb.

Habilite las opciones Habilitar paginación, Habilitar eliminación en la

ventana de Tareas de DetailsView. Se observará la siguiente figura:

Figura 7.61 Opciones Habilitar paginación y Habilitar eliminación habilitadas.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opción

elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

Page 213: libro manejo de archivos visual basic net 2010

213

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 página 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 Página Web con los objetos DetailsView y GridView.

Busque el registro que se insertó en el ejemplo anterior utilizando los link

numéricos. Se visualiza la siguiente figura.

Page 214: libro manejo de archivos visual basic net 2010

214

Figura 7.64 Página 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, además se visualizará en el

objeto tabla los registros actuales.

Figura 7.65 Página Web con el registro eliminado.

Page 215: libro manejo de archivos visual basic net 2010

215

7.1.7 Página Web para modificar registros

Crear un sitio Web llamado ModificarRegistrosWeb y diseñar un programa que

permita modificar un determinado registro de la tabla clientes. El registro lo deberá

escoger el usuario utilizando la paginación de registros.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en la página Web en la posición 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 Propiedad Valor

Label1 ID titulo

Text Modificar un registro en la tabla Clientes

Font - Bold true

Label2 ID titulotabla

Text Registros de la tabla Clientes.

Font - Bold true

DetailsView1 ID detalles

GridView1 ID tabla

Form1 ID formulario

Document title Modificar un registro en una tabla.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

La interfaz de usuario queda como muestra la siguiente figura:

Figura 7.66 Interfaz de usuario (ModificarRegistrosWeb).

Page 216: libro manejo de archivos visual basic net 2010

216

Establecer la conexión

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 elección del origen de datos y los pasos subsiguientes según el ejercicio 7.1.5

Página Web para insertar registros (desde la figura 7.43 hasta la 7.51), obtendrá

como resultado final la siguiente figura:

Figura 7.67 Ventana diseño sitio Web ModificarRegistrosWeb.

Habilite las opciones Habilitar paginación, Habilitar edición en la ventana de

Tareas de DetailsView. Se observará la siguiente figura:

Figura 7.68 Opciones Habilitar paginación y Habilitar edición habilitadas.

Page 217: libro manejo de archivos visual basic net 2010

217

Ahora seleccione la opción 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 botón Aceptar, para visualizar la

siguiente figura:

Figura 7.70 Objeto detalles con botón Editar.

Ahora seleccione el objeto tabla y en las Tareas de GridView en la opción

elegir origen de datos escoja el objeto datos para visualizar la siguiente figura:

Page 218: libro manejo de archivos visual basic net 2010

218

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 página 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 Página Web con los objetos DetailsView y GridView.

Page 219: libro manejo de archivos visual basic net 2010

219

Por ejemplo, si se desea modificar el primer registro de la tabla pulse el botón

Editar para que las cajas de texto queden en modo de edición y se visualicen los

botones Actualizar y Cancelar.

Figura 7.73 Página Web para modificar un registro.

Al realizar en el campo empresa el cambio Canasticos Bacanos por Canasticos

Cheveres y pulsar el botón Actualizar se modificará el registro seleccionado en la tabla

clientes, además se visualizará en el objeto tabla los registros actuales.

Figura 7.74 Página Web con el registro modificado.

Page 220: libro manejo de archivos visual basic net 2010

220

7.1.8 Página Web con un informe de los registros de una tabla

Crear un sitio Web llamado ReporteTablaWeb y diseñar 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 específico y ubique los

siguientes controles en la página: 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 Propiedad Valor

MicrosoftReportViewer ID reporte

Form1 ID formulario

Document title Reporte web de una tabla.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

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

Page 221: libro manejo de archivos visual basic net 2010

221

Figura 7.76 Interfaz de usuario modificada (ReporteTablaWeb).

Diseñar el informe y establecer la conexión con la base de datos

Para seleccionar la tabla y diseñar el informe, pulse la flecha del lado superior derecho

del objeto reporte para ver la ventana Tareas de ReportViewer y escoger la opción

Elegir informe.

Figura 7.77 Selección Tareas de ReportViewer – Elegir informe.

Seleccione <Informe de Servidor>, para visualizar la siguiente figura:

Page 222: libro manejo de archivos visual basic net 2010

222

Figura 7.78 Elegir informe – Informe servidor.

Aquí seleccione la opción Diseñar 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 configuración de

orígenes de datos.

Page 223: libro manejo de archivos visual basic net 2010

223

Figura 7.80 Ventana Elegir la conexión de datos.

Dé clic en el botón Nueva Conexión. 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 conexión.

Al pulsar el botón Aceptar se visualizará nuevamente la ventana de elección de

conexión de datos con la base de datos bdlibrovbnett.mdf, como se aprecia en la

siguiente figura:

Page 224: libro manejo de archivos visual basic net 2010

224

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 botón Sí para copiar el archivo de datos en la carpeta en donde guardó el

sitio Web y visualizará la ventana de guardar cadena de conexión:

Figura 7.84 Ventana Guardar cadena de conexión.

Page 225: libro manejo de archivos visual basic net 2010

225

Cambie el nombre de la conexión que allí aparece por conexion y pulse el botón

Siguiente>, se visualizará la siguiente figura:

Figura 7.85 Ventana de elección 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 botón 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

Page 226: libro manejo de archivos visual basic net 2010

226

visualizar la ventana de selección de tipo de informe.

Figura 7.87 Asistente para informes – seleccionar el tipo de informe.

Seleccione la opción Tabular o Matriz y dé clic en Siguiente> para visualizar

la ventana de diseño de tabla.

Figura 7.88 Asistente para informes – diseñar la tabla.

Page 227: libro manejo de archivos visual basic net 2010

227

Seleccione el campo nit y pulse el boton Grupos, el resto de campos páselos a

la ventana Detalles con el botón Detalles>, se obtiene la siguiente figura:

Figura 7.89. Diseño de la tabla con los campos seleccionados.

Dé clic en Siguiente> para visualizar la ventana de elección de diseño de la

tabla.

Figura 7.90 Asistente para informes – elegir el diseño de la tabla.

Page 228: libro manejo de archivos visual basic net 2010

228

Seleccione la opción 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 opción con el estilo que desee y dé clic en Siguiente> para

visualizar la ventana de finalización del asistente de informes.

Figura 7.92 Ventana de finalización del asistente de informes.

Page 229: libro manejo de archivos visual basic net 2010

229

Donde aparece el nombre del informe cámbielo por Reporte Web Tabla

Clientes y dé clic en Finalizar> para visualizar el diseño final del informe.

Figura 7.93 Ventana de diseño reporte Web.

Seleccione nuevamente la página aspx, pulse la flecha del objeto reporte y

escoja la opción elegir informe.

Figura 7.94 Ventana para elegir informe.

Seleccione el informe Reporte Web Tabla Clientes.rdlc, se visualizará la

siguiente figura:

Page 230: libro manejo de archivos visual basic net 2010

230

Figura 7.95 Ventana con el informe Reporte Web Tabla Clientes.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se visualizará la página con el informe de los registros que

contiene la tabla clientes. Puede ajustar el tamaño del reporte en la página en modo de

diseño.

Figura 7.96 Pagina Web con el informe de los registros de la tabla clientes.

Page 231: libro manejo de archivos visual basic net 2010

231

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. Diseñar un sitio Web que permita actualizar un campo numérico 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 creación 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. Diseñar un sitio Web que permita visualizar en un reporte los registros de una

tabla ordenados alfabéticamente.

Page 232: libro manejo de archivos visual basic net 2010

232

8. MANEJO DE TABLAS RELACIONADAS CON ASP.NET

Como se vio en el Capítulo 5 es posible obtener una relación entre las tablas

pertecenientes a una base de datos. Para que la relación entre tablas se cumpla, como

minimo dos tablas deben tener en común un campo. Una de las tablas tendrá como llave

primaria el campo común y ésta se llamará tabla principal, la otra tabla no necesita que

el campo común sea llave primaria, a ésta se le llamará tabla secundaria.

También con sitios Web ASP.NET se puede realizar el desplazamiento entre los

registros de las tablas relacionadas, como las operaciones de inserción, modificación,

consulta y eliminación, así como la generación de informes.

8.1 Ejemplos de relación entre tablas de una base de datos con ASP.NET

8.1.1 Relación 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 cuadrícula

se visualicen los pedidos que dicha empresa ha realizado.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario Web en la posición 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:

Page 233: libro manejo de archivos visual basic net 2010

233

Tabla 8.1 Propiedades de controles del sitio Web RelacionDosTablasWeb.

Control Propiedad Valor

Label1 ID titulo

Text Relación de tablas con un DropDownList y un GridView.

Font - Bold true

Label2 ID txtempresas

Text Seleccione empresa:

Label3 ID txtpedidos

Text Registros relacionados.

DropDownList1 ID listaempresas

GridView1 ID tabla

Form1 ID formulario

Document title Relación de tablas.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

Figura 8.2 Interfaz de usuario modificada (RelacionDosTablasWeb).

Establecer la conexión

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.

Page 234: libro manejo de archivos visual basic net 2010

234

Figura 8.3 Ventana de las Tareas del DropDownList.

Seleccione la opción Elegir origen de datos, para visualizar la siguiente figura:

Figura 8.4 Ventana para configuración de orígenes de datos.

En la opción Seleccionar un origen de datos escoja <Nuevo origen de datos…>

y pulse el botón Aceptar, para ver la ventana de elección de tipo de origen de datos.

Page 235: libro manejo de archivos visual basic net 2010

235

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 botón Aceptar, para ver la siguiente figura:

Figura 8.6 Ventana elegir la conexión de datos.

Page 236: libro manejo de archivos visual basic net 2010

236

Pulse el botón Nueva Conexión, se visualizará la ventana Agregar conexión:

Figura 8.7 Ventana Agregar conexión.

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.

Page 237: libro manejo de archivos visual basic net 2010

237

Pulse el botón Siguiente> para visualizar la ventana de configuración de origen

de datos – datos:

Figura 8.9 Ventana configuración de origen de datos - datos.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 8.10 Ventana para configurar la instrucción Select.

Page 238: libro manejo de archivos visual basic net 2010

238

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla

clientes y pulse el botón Siguiente para ver la ventana de Consulta de prueba.

Figura 8.11 Ventana de Consulta de prueba.

Pulse el botón Finalizar para volver a la ventana de elegir un origen de datos.

Cambie en la opción 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.

Page 239: libro manejo de archivos visual basic net 2010

239

Pulse el botón Aceptar para volver a modo diseño.

Figura 8.13 Ventana modo diseño del sitio Web RelacionDosTablasWeb.

Habilite la opción Habilitar AutoPostBack (hace un llamado al servidor para

devolver los datos seleccionados) en la ventana Tareas de DropDownList. Además

seleccione el objeto tabla. Se observará la siguiente figura:

Figura 8.14 Objeto tabla seleccionado.

En Tareas de GridView en la opción elegir origen de datos escoja <Nuevo

origen de datos…> para visualizar la siguiente figura:

Page 240: libro manejo de archivos visual basic net 2010

240

Figura 8.15 Ventana elección 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 botón Aceptar, para ver la

siguiente figura:

Figura 8.16 Ventana elegir la conexión de datos.

Page 241: libro manejo de archivos visual basic net 2010

241

Dé clic en la flecha y escoja el objeto llamado conexion. Se observará la

siguiente figura:

Figura 8.17 Ventana Elegir conexión de datos con el objeto conexion.

Pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 8.18 Ventana para configurar la instrucción Select.

Page 242: libro manejo de archivos visual basic net 2010

242

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla

pedidos. La ventana sería similar a la siguiente figura:

Figura 8.19 Ventana con la tabla pedidos seleccionada.

Pulse el botón WHERE para visualizar la ventana Agregar cláusula WHERE.

Figura 8.20 Ventana Agregar cláusula WHERE.

Page 243: libro manejo de archivos visual basic net 2010

243

Seleccione en la ventana Columna el campo nit, en la ventana Operador el

signo igual (=), en la ventana Origen la opción Control, en la ventana Id. de control

seleccione el objeto listaempresas y pulse el botón Agregar para ver la siguiente

figura:

Figura 8.21 Ventana con la cláusula WHERE agregada.

Pulse el botón Aceptar para volver a la ventana Configurar origen de datos –

datospedidos.

Figura 8.22 Ventana Configurar origen de datos – datospedidos.

Page 244: libro manejo de archivos visual basic net 2010

244

Pulse el botón Siguiente para ver la ventana Consulta de prueba.

Figura 8.23 Ventana Consulta de prueba.

Si desea realizar una prueba pulse el botón Consulta de prueba para ver la

ventana de Editor de valores del parámetro.

Figura 8.24 Ventana Editor de valores del parámetro.

Page 245: libro manejo de archivos visual basic net 2010

245

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 botón Aceptar para ver todos los

registros relacionados con la tabla pedidos. Si existe relación se observaría la siguiente

figura:

Figura 8.25 Ventana Consulta de prueba (relación clientes – pedidos).

Pulse el botón Finalizar para volver a modo diseño del sitio Web.

Figura 8.26. Ventana de diseño sitio Web RelacionDosTablasWeb.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observan en la página los objetos DropDownList y

Page 246: libro manejo de archivos visual basic net 2010

246

GridView. En el objeto DropDownList se puede seleccionar un nombre de una

empresa de la tabla clientes y en el objeto GridView se visualizarán los registros

relacionados con la tabla pedidos.

Figura 8.27 Página Web con la relación clientes - pedidos.

8.1.2 Relación de tablas utilizando GridView y FormView

Diseñar 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 específico y ubique los

siguientes controles en el formulario en la posición deseada: 3 Label, 1 GridView, 1

FormView.

Figura 8.28. Interfaz de usuario (RelacionGridViewFormViewWeb)

Page 247: libro manejo de archivos visual basic net 2010

247

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 Propiedad Valor

Label1 ID titulo

Text Relación de tablas con GridView y FormView.

Font - Bold true

Label2 ID txttabla

Text Seleccione Clientes

Label3 ID txtforma

Text Pedidos relacionados con el Cliente.

FormView1 ID forma

GridView1 ID tabla

Form1 ID formulario

Document title Relación con GridView y FormView.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

Figura 8.29 Interfaz de usuario modificada (RelacionGridViewFormViewWeb).

Establecer la conexión

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.

Page 248: libro manejo de archivos visual basic net 2010

248

Figura 8.30 Ventana de las Tareas del GridView.

Seleccione la opción 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 botón Aceptar, para ver la siguiente

figura:

Page 249: libro manejo de archivos visual basic net 2010

249

Figura 8.32 Ventana elegir la conexión de datos.

Pulse el botón Nueva Conexión, se visualizará la ventana Agregar conexión:

Figura 8.33 Ventana Agregar conexión.

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:

Page 250: libro manejo de archivos visual basic net 2010

250

Figura 8.34 Ventana con la base de datos seleccionada.

Pulse el botón Siguiente> para visualizar la ventana de configuración de origen

de datos – datosclientes:

Figura 8.35 Ventana configuración de origen de datos - datos.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Page 251: libro manejo de archivos visual basic net 2010

251

Figura 8.36 Ventana para configurar la instrucción Select.

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla

clientes y pulse el botón Siguiente para ver la ventana Consulta de prueba.

Figura 8.37 Ventana de Consulta de prueba.

Pulse el botón Finalizar para volver a modo diseño.

Page 252: libro manejo de archivos visual basic net 2010

252

Figura 8.38 Ventana modo diseño del sitio Web RelacionGridViewFormViewWeb.

Habilite la opción Habilitar selección en la ventana Tareas de GridView.

Además seleccione el objeto forma. Se observará la siguiente figura:

Figura 8.39 Objeto forma seleccionado.

En Tareas de FormView en la opción elegir origen de datos escoja <Nuevo

origen de datos…> para visualizar la siguiente figura:

Page 253: libro manejo de archivos visual basic net 2010

253

Figura 8.40 Ventana elección 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 botón Aceptar, para ver la

siguiente figura:

Figura 8.41 Ventana Elegir la conexión de datos.

Page 254: libro manejo de archivos visual basic net 2010

254

Dé clic en la flecha y escoja el objeto llamado conexion. Se observará la

siguiente figura:

Figura 8.42 Ventana Elegir conexión de datos con el objeto conexion.

Pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 8.43 Ventana para configurar la instrucción Select.

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla

pedidos. La ventana sería similar a la siguiente figura:

Page 255: libro manejo de archivos visual basic net 2010

255

Figura 8.44 Ventana con la tabla pedidos seleccionada.

Pulse el botón WHERE para visualizar la ventana Agregar cláusula WHERE.

Figura 8.45 Ventana Agregar cláusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el

signo igual (=), en la ventana Origen la opción Control, en la ventana Id. de control

seleccione el objeto tabla y pulse el botón Agregar para ver la siguiente figura:

Page 256: libro manejo de archivos visual basic net 2010

256

Figura 8.46 Ventana con la cláusula WHERE agregada.

Pulse el botón Aceptar para volver a la ventana Configurar origen de datos –

datospedidos.

Figura 8.47 Ventana Configurar origen de datos – datospedidos.

Pulse el botón Siguiente para ver la ventana Consulta de prueba.

Page 257: libro manejo de archivos visual basic net 2010

257

Figura 8.48 Ventana Consulta de prueba.

Pulse el botón Finalizar para volver a modo diseño del sitio Web. Habilite la

opción Habilitar paginación en la ventana Tareas de FormView. Se observará la

siguiente figura:

Figura 8.49 Ventana de diseño sitio Web RelacionGridViewFormViewWeb.

Además en Tareas de FormView escoja Formato Automático…, seleccione el

esquema profesional para visualizar la siguiente figura:

Page 258: libro manejo de archivos visual basic net 2010

258

Figura 8.50 Ventana de Autoformato.

Pulse el botón Aceptar para volver a modo diseño.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observa en la página el objeto GridView. En dicho objeto

se visualizan los registros de la tabla clientes.

Figura 8.51 Página Web con la cuadrícula de clientes.

Si pulsa sobre el link Seleccionar al frente del nit 100, se visualizarán los

registros relacionados con la tabla pedidos en el objeto forma.

Page 259: libro manejo de archivos visual basic net 2010

259

Figura 8.52 Página Web con registros relacionados clientes - pedidos.

Si desea que la presentación de los registros relacionados sea más profesional,

vuelva a modo de diseño y seleccione el objeto forma y visualice las Tareas de

FormView, como se muestra en la siguiente figura:

Figura 8.53 Página Web con el objeto forma seleccionado.

Seleccione la opción Editar plantillas. Se observará la siguiente figura:

Page 260: libro manejo de archivos visual basic net 2010

260

Figura 8.54 Objeto forma en modo de edición de plantillas.

Modifique cada una de las etiquetas del objeto forma y pulse la opción

Terminar edición de plantillas. Según los cambios realizados, la página podría 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:

Page 261: libro manejo de archivos visual basic net 2010

261

Figura 8.56 Página Web con la relación clientes – pedidos.

8.1.3 Página Web con tres tablas relacionadas

Diseñar 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 cuadrícula los registros relacionados con la tabla pedidos. Al

seleccionar algún registro de la cuadrícula de pedidos se debe visualizar en otra

cuadrícula la venta realizada en dicho pedido.

Crear la interfaz de usuario

Utilizando el cuadro de herramientas haga clic en el control específico y ubique los

siguientes controles en el formulario en la posición deseada: 3 Label, 1 GridView, 1

FormView.

Figura 8.57 Interfaz de usuario (RelacionTresTablasWeb).

Page 262: libro manejo de archivos visual basic net 2010

262

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 Propiedad Valor

Label1 ID titulo

Text Relación de tres tablas con ListView y dos GridView.

Font - Bold true

Label2 ID txtempresa

Text Seleccione empresa

Label3 ID txtpedidos

Text Relación Clientes - Pedidos.

Label4 ID txtventas

Text Relación Pedidos - Ventas.

ListBox1 ID listaempresas

GridView1 ID tablapedidos

GridView2 ID tablaventas

Form1 ID formulario

Document title Relación de tres tablas.

Default.aspx.vb Nombre de archivo.

pagina.aspx.vb

Figura 8.58 Interfaz de usuario modificada (RelacionTresTablasWeb).

Establecer la conexión

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.

Page 263: libro manejo de archivos visual basic net 2010

263

Figura 8.59 Ventana de las Tareas del ListBox.

Seleccione la opción Elegir origen de datos, para visualizar la siguiente figura:

Figura 8.60 Ventana para configuración de orígenes de datos.

En la opción Seleccionar un origen de datos escoja <Nuevo origen de datos…>

y pulse el botón Aceptar, para ver la ventana de elección de tipo de origen de datos.

Page 264: libro manejo de archivos visual basic net 2010

264

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 botón Aceptar, para ver la siguiente figura:

Figura 8.62 Ventana elegir la conexión de datos.

Pulse el botón Nueva Conexión, se visualizará la ventana Agregar conexión:

Page 265: libro manejo de archivos visual basic net 2010

265

Figura 8.63 Ventana Agregar conexión.

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 botón Siguiente> para visualizar la ventana de configuración de origen

de datos – datosclientes:

Page 266: libro manejo de archivos visual basic net 2010

266

Figura 8.65 Ventana configuración de origen de datos - datosclientes.

Cambie el nombre de la conexión bdlibrovbnetConnectionString1 por

conexion y pulse el botón Siguiente para ver la ventana para configurar la instrucción

Select.

Figura 8.66 Ventana para configurar la instrucción Select- datosclientes.

Seleccione la tabla clientes y elija * para ver todos los registros de la tabla

clientes y pulse el botón Siguiente para ver la ventana Consulta de prueba.

Page 267: libro manejo de archivos visual basic net 2010

267

Figura 8.67 Ventana Consulta de prueba.

Pulse el botón Finalizar para volver a la ventana de elegir un origen de datos.

Cambie en la opción 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 botón Aceptar para volver a modo diseño.

Page 268: libro manejo de archivos visual basic net 2010

268

Figura 8.69 Ventana modo diseño del sitio Web RelacionTresTablasWeb.

Habilite la opción Habilitar AutoPostBack en la ventana Tareas de ListBox.

Además seleccione el objeto tablapedidos. Se observará la siguiente figura:

Figura 8.70 Objeto tablapedidos seleccionado.

Seleccione la opción Elegir origen de datos, para visualizar la siguiente figura:

Page 269: libro manejo de archivos visual basic net 2010

269

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 botón Aceptar, para ver la siguiente figura:

Figura 8.72 Ventana Elegir la conexión de datos.

Dé clic en la flecha y escoja el objeto llamado conexion. Se observará la

ventana de configurar la instrucción Select.

Page 270: libro manejo de archivos visual basic net 2010

270

Figura 8.73 Ventana para configurar la instrucción Select.

Seleccione la tabla pedidos y elija * para ver todos los registros de la tabla

pedidos y pulse el botón WHERE para visualizar la ventana Agregar cláusula

WHERE.

Figura 8.74 Ventana Agregar cláusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el

signo igual (=), en la ventana Origen la opción Control, en la ventana Id. de control

seleccione el objeto listaempresas y pulse el botón Agregar para ver la siguiente

figura:

Page 271: libro manejo de archivos visual basic net 2010

271

Figura 8.75 Ventana con la cláusula WHERE agregada.

Pulse el botón Aceptar para volver a la ventana Configurar origen de datos –

datospedidos.

Figura 8.76 Ventana Configurar origen de datos – datospedidos.

Pulse el botón Siguiente para ver la ventana Consulta de prueba.

Page 272: libro manejo de archivos visual basic net 2010

272

Figura 8.77 Ventana Consulta de prueba.

Pulse el botón Finalizar para volver a modo diseño del sitio Web. Habilite la

opción Habilitar selección en la ventana Tareas de GridView. Se observará la

siguiente figura:

Figura 8.78 Ventana de diseño sitio Web RelacionTresTablasWeb.

Ahora seleccione el objeto tablaventas. Se observará la siguiente figura:

Page 273: libro manejo de archivos visual basic net 2010

273

Figura 8.79 Objeto tablaventas seleccionado.

E

En Tareas de GridView en la opción elegir origen de datos escoja <Nuevo

origen de datos…> para visualizar la siguiente figura:

Figura 8.80 Ventana de elección 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 botón Aceptar, para ver la siguiente figura:

Page 274: libro manejo de archivos visual basic net 2010

274

Figura 8.81 Ventana Elegir la conexión de datos - datosventas.

Dé clic en la flecha y escoja el objeto llamado conexion. Pulse el botón

Siguiente para observar la ventana de configurar la instrucción Select.

Figura 8.82 Ventana para configurar la instrucción Select - datosventas.

Pulse el botón WHERE para visualizar la ventana Agregar cláusula WHERE.

Page 275: libro manejo de archivos visual basic net 2010

275

Figura 8.83 Ventana Agregar cláusula WHERE.

Seleccione en la ventana Columna el campo nit, en la ventana Operador el

signo igual (=), en la ventana Origen la opción Control, en la ventana Id. de control

seleccione el objeto tablapedidos y pulse el botón Agregar para ver la siguiente figura:

Figura 8.84 Ventana con la cláusula WHERE agregada.

Pulse el botón Aceptar para volver a la ventana Configurar origen de datos –

datosventas.

Page 276: libro manejo de archivos visual basic net 2010

276

Figura 8.85 Ventana Configurar origen de datos – datosventas.

Pulse el botón Siguiente para ver la ventana Consulta de prueba.

Figura 8.86 Ventana Consulta de prueba - datosventas.

Pulse el botón Finalizar para volver a modo diseño del sitio Web. Se observará

la siguiente figura:

Page 277: libro manejo de archivos visual basic net 2010

277

Figura 8.87 Ventana de diseño de sitio Web RelacionTresTablasWeb.

Ejecutar el sitio Web

Al ejecutarse el sitio Web, se observa en la página el objeto ListBox. En dicho objeto se

visualizan las empresas de la tabla clientes.

Figura 8.88 Página Web con la lista de empresas de la tabla clientes.

Si pulsa sobre el nombre de empresa Canasticos Cheveres, se visualizarán 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 número de pedido 20, se

visualizarán en el objeto tablaventas los registros relacionados con la tabla pedidos.

Page 278: libro manejo de archivos visual basic net 2010

278

Figura 8.89 Página Web con registros relacionados clientes – pedidos - ventas.

8.2 Ejercicios relación de tablas con ASP.NET

1. Crear un sitio Web que permita realizar una relación entre tres tablas de una base

de datos en SQL Server utilizando controles GridView. 2. Hacer un sitio Web que permita realizar una relación de tres tablas; para la

primera relación 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 relación en un DataList.

3. Diseñar 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 creación 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. Diseñar un sitio Web que permita visualizar un reporte según un rango

seleccionado.

Page 279: libro manejo de archivos visual basic net 2010

279

ANEXO A

CREACIÓN DE APLICACIONES WINDOWS FORMS Este tutorial se trabaja con el entorno de desarrollo de Microsoft Visual Studio .NET

2008, también 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 Página de Inicio de Visual Studio 2008.

A.1 Crear un nuevo proyecto Visual Basic .NET (Windows Forms)

Crear una aplicación 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 código, guardar la

aplicación y ejecutar el proyecto.

Para iniciar un nuevo proyecto desde la página de inicio, se pueden seguir estos

pasos:

En la ventana proyectos recientes seleccionar la opción Crear: link Proyecto…

Hacer clic en la opción Archivo del menú y seleccionar Nuevo Proyecto...

Cuando se crea un proyecto por cualquiera de las dos opciones se visualiza la

siguiente ventana:

Page 280: libro manejo de archivos visual basic net 2010

280

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 aplicación

proporciona archivos de inicio y una estructura de proyecto, además contiene los

objetos básicos del proyecto y la configuración del entorno que se necesita para crear el

tipo de aplicación que se desea.

Para el ejemplo, como Tipo de proyecto se debe seleccionar Visual Basic -

Windows, como plantilla Aplicación de Windows Forms, como Nombre del proyecto

MiProgramaWF. Pulse el botón Aceptar para visualizar el entorno de desarrollo del

proyecto Windows Forms MiProgramaWF.

Figura A.3 Ventana Nuevo proyecto Windows Form.

Page 281: libro manejo de archivos visual basic net 2010

281

Cuando se selecciona una plantilla de aplicaciones aparece el entorno de

desarrollo, donde encontrará:

Menú principal y la barra de herramientas estándar: Proporcionan acceso a

la mayoría de comandos que controlan el entorno de programación 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 mayoría de comandos estándar de Windows.

También 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 estándar.

Cuadro de Herramientas: El cuadro de herramientas contiene diversos

controles que se pueden utilizar para añadir ilustraciones, etiquetas, botones,

cuadros de lista, barras de desplazamiento, menús y formas geométricas a una

interfaz de usuario. Cada control que se añade a un formulario se convierte en un

objeto de la interfaz de usuario programable en la aplicación. Estos objetos son

visibles para los usuarios cuando la aplicación se ejecuta y funcionan como los

objetos estándar de cualquier aplicación basada en Windows.

Figura A.5 Cuadro de Herramientas.

Barra de Herramientas

Menú Principal

Page 282: libro manejo de archivos visual basic net 2010

282

Diseñador formulario Windows (Windows Forms): Cuando se inicia un

proyecto en Visual Basic .NET, el Diseñador de formulario de Windows

(Windows Forms) se abre en la vista diseño (un formulario tiene vista diseño

cuando se inicia el proyecto y está en modo de ejecución cuando se ejecuta la

aplicación), mostrándose el formulario Form1 del proyecto. En dicho

formulario se pueden ubicar los controles u objetos necesarios para la aplicación

arrastrándolos desde el cuadro de herramientas para crear la interfaz de usuario.

El formulario predeterminado contiene los elementos mínimos utilizados por la

mayoría de formularios: una barra de título, 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

administración de archivos en una solución o en un proyecto. Una solución es un

contenedor para proyectos y elementos de solución que pueden incluirse en una

aplicación. Normalmente, una solución contiene uno o más proyectos

relacionados. Un proyecto es un contenedor dentro de una solución que se utiliza

para administrar, generar y depurar lógicamente los elementos del (los) proyecto

(s) que constituyen la aplicación.

Figura A.7 Ventana Explorador de soluciones.

Page 283: libro manejo de archivos visual basic net 2010

283

Ventana de propiedades: muestra una lista de las propiedades que facilitan la

configuración de los valores o propiedades del control seleccionado y se pueden

modificar mientras se crea o se edita la aplicación. Una propiedad describe una

característica de un objeto, como el tamaño, título, color, etc.

Figura A.8 Cuadro de propiedades.

Ventana de depuración de errores: muestra una lista de los errores que se

generan al realizar modificaciones a los controles o al ejecutar la aplicación.

Figura A.9 Ventana de lista de errores.

A.3 Crear la interfaz de usuario

Para crear la interfaz de usuario de la aplicación, 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 número y al pulsar un botón

se muestre en una cuadrícula la tabla de multiplicación de dicho número. Para este caso

se diseñará 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 más numero del consecutivo). La

interfaz de usuario del ejemplo será como muestra la figura a continuación.

Page 284: libro manejo de archivos visual basic net 2010

284

Figura A.10 Prepantalla de la interfaz de usuario.

A.4 Establecer las propiedades de los controles

Después de colocar los controles u objetos a un formulario, se puede establecer sus

propiedades en la ventana Propiedades o en el Editor de código.

Para modificar las propiedades se selecciona el control en el formulario y se

cambia su configuración 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 aplicación MiProgramaWF.

Control Propiedad Valor

Label1 Name titulo

Text Generar una tabla de multiplicar:

Font - Bold True

Label2 Name txtnumero

Text Digite numero:

Label3 Name txttabla

Text La tabla del numero

TextBox1 name camponumero

Text En blanco

DataGridView1 Name tabla

Button1 Name boton

Text Ver Tabla

Form1 Name formulario

Text Tablas de multiplicar

La interfaz de usuario con las modificaciones respectivas en las propiedades de

cada control queda como muestra la siguiente figura:

Page 285: libro manejo de archivos visual basic net 2010

285

Figura A.11 Pantalla final de la interfaz de usuario

A.5 Escribir código

Una vez se hayan establecido las propiedades iniciales del formulario y sus objetos, se

puede agregar el código que se ejecutará en respuesta a un evento específico de cada

control. Los eventos ocurren cuando se realizan diferentes acciones sobre un control u

objeto. Por ejemplo, el evento Clic de un botón tiene lugar cuando un usuario hace clic

sobre él con el mouse. Por lo general en las aplicaciones es necesario escribir código

para lograr el objetivo de dar solución 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 código, la figura muestra el editor de código del control.

Figura A.12 Editor de código del objeto boton.

Ahora escriba el siguiente código 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

Page 286: libro manejo de archivos visual basic net 2010

286

Este código sirve para rellenar el objeto tabla con los respectivos datos.

Utilizando el método 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 posición i

igual a cero (0) hasta el número 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 aplicación

Una vez finalizada la creación de la aplicación, se debe guardar la aplicación 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 opción visualizará la siguiente ventana:

Figura A.13 Ventana Guardar proyecto.

Se debe seleccionar la ubicación en donde se guardará el proyecto. Al pulsar el

botón 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 información específica para una determinada tarea de programación.

2. Un archivo de solución .sln, el cual contiene información relacionada con uno o más proyectos. Siempre elija el archivo solución para abrir un proyecto.

A.7 Ejecutar la aplicación 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 botón Iniciar de la barra de herramientas estándar. También puede presionar F5 para ejecutar el proyecto. Si la aplicación se ejecuta sin errores, aparecerá una versión ejecutable del formulario.

2. Cuando termine de ejecutar la aplicación se debe cerrar el formulario para regresar al entorno de programación.

Page 287: libro manejo de archivos visual basic net 2010

287

Las aplicaciones Windows Forms creadas con Visual Basic .NET tienen la

extensión .exe, que podrán ser ejecutadas en cualquier equipo que tenga instalado

Microsoft Windows. Visual Basic .NET instala de manera automática los archivos de

soporte, incluyendo las bibliotecas de vínculos dinámicos y archivos de .NET

framework. Visual Studio puede crear dos tipos de archivos ejecutables:

1. Debug: Compilación de depuración, se utiliza cuando se prueba y depura un programa (Default).

2. Release: Versión de edición, se utiliza cuando se termina el programa siendo ésta una versión optimizada de menor tamaño

Si se escribe el número 5 en el campo de texto y se pulsa el botón Ver Tabla, se

visualizará la siguiente figura.

Figura A.14 Aplicación MiProgramaWF ejecutado.

A.8 Cerrar y abrir un proyecto

Para cerrar el proyecto MiProgramaWF o cualquier otro proyecto, en modo diseño se

pueden realizar los siguientes pasos:

1. En el menú Archivo, hacer clic en la opción Cerrar Proyecto.

2. Si desea cerrar el proyecto y salir de Visual Studio, en el menú Archivo haga clic en la opción Salir.

En cada caso se deben guardar los nuevos cambios que se hayan realizado.

Para volver a abrir la aplicación MiProgramaWF o cualquier otra aplicación

existente se deberán 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 aplicación. Si por el contrario no se visualiza la aplicación en el menú Archivo, seleccione Abrir proyecto..., busque la carpeta MiProgramaWF y seleccione el archivo MiPrograma.sln y pulse la opción Abrir para abrir la aplicación en el entorno de desarrollo de Visual Basic .NET.

Page 288: libro manejo de archivos visual basic net 2010

288

ANEXO B

Creación 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 programación que se ejecuta en un servidor Web

para generar y administrar páginas Web. Visual Studio 2008 proporcionar el diseñador

de formularios Web, un editor, controles y un sistema de depuración, para facilitar la

creación de aplicaciones que guardadas en un servidor pueden ser accesadas desde un

explorador, teléfonos móviles, etc.

Figura B.1 Página de Inicio de Visual Studio 2008.

B.1 Crear un nuevo Sitio Web (ASP.NET)

Crear una aplicación Web ASP.NET utilizando el lenguaje de programación 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 código

y ejecutar el sitio Web.

Como ejemplo se creará un sitio Web que permita a un usuario escoger un tipo

de comida rápida 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.

Page 289: libro manejo de archivos visual basic net 2010

289

Para iniciar un nuevo sitio desde la página de inicio, se pueden seguir estos pasos:

En la ventana proyectos recientes seleccionar la opción Crear: link Sitio Web…

Hacer clic en la opción 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 aplicación Web proporciona archivos de inicio y una estructura del sitio

Web, además contiene los objetos básicos del sitio y la configuración del entorno que se

necesita para crear el tipo de aplicación que se desea.

Para el ejemplo, como plantilla seleccione Sitio Web ASP.NET, como

Ubicación del sitio escoja Sistema de archivos (también es posible obtener una

ubicación HTTP o FTP), con el botón Examinar puede buscar la carpeta para ubicar el

sitio Web, para este caso guarde el sitio con el nombre MiProgramaWeb. Pulse el

botón Aceptar para visualizar el entorno de desarrollo del sitio Web MiProgramaWeb.

Page 290: libro manejo de archivos visual basic net 2010

290

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 estándar: proporcionan acceso a

la mayoría de comandos que controlan el entorno de programación 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 mayoría de comandos estándar de Windows.

También 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 estándar.

Cuadro de Herramientas: el cuadro de herramientas contiene controles

estándar de Windows, datos, navegación, elementos Web, etc. Cada control que

se añade a un formulario Web se convierte en un objeto de la interfaz de usuario

programable en la aplicación.

Barra de Herramientas

Menú Principal

Page 291: libro manejo de archivos visual basic net 2010

291

Figura B.5 Cuadro de Herramientas.

Diseñador de formularios Web: cuando se inicia un sitio Web el diseñador de

formularios de Web se abre en vista Diseño (un formulario tiene vista diseño

cundo se inicia el sitio y está en modo de ejecución cuando se ejecuta la

aplicación), mostrándose el formulario Web Default.aspx. En la parte inferior

del formulario Web se encuentran las pestañas Diseño, Dividir (divide el

formulario Web en dos partes: una en modo diseño y en la otra mitad se

visualiza el código HTML del formulario Web), Código (muestra el código

HTML), como también las pestañas <html>, <body>, <form#form1>, <div>.

En dicho formulario Web se pueden ubicar los controles u objetos necesarios

para la aplicación arrastrándolos desde el cuadro de herramientas para crear la

interfaz de usuario.

Figura B.6 Formulario Web.

Page 292: libro manejo de archivos visual basic net 2010

292

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 código fuente que da soporte a la página Default.aspx) y Web.xml

(archivo de configuración xml).

Figura B.7 Ventana Explorador de soluciones.

Ventana de propiedades: muestra una lista de las propiedades que facilitan la

configuración de los valores o propiedades del control seleccionado y se pueden

modificar mientras se crea o se edita la aplicación. Una propiedad describe una

característica de un objeto, como el tamaño, título, color, etc.

Figura B.8 Cuadro de propiedades.

Page 293: libro manejo de archivos visual basic net 2010

293

Ventana de depuración de errores: muestra una lista de los errores que se

generan al realizar modificaciones a los controles o al ejecutar la aplicación.

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 diseñará 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 más número del consecutivo). La

interfaz de usuario del ejemplo será como muestra la figura a continuación.

Figura B.10 Preformulario Web de la interfaz de usuario.

Page 294: libro manejo de archivos visual basic net 2010

294

B.4 Establecer las propiedades de los controles.

Después de colocar los controles u objetos a un formulario Web, se puede establecer sus

propiedades en la ventana Propiedades o en el Editor de código.

Para modificar las propiedades se selecciona el control en el formulario Web y

se cambia su configuración 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 Propiedad Valor

Label1 ID titulo

Text Comidas Rápidas topo Gigio.

Font - Bold True

Label2 ID txtcomida

Text Seleccione comida:

Font - Bold True

Label3 ID txtbebida

Text Seleccione bebida:

Font - Bold True

Label4 ID txtvalorcomida

Text Valor Comida:

Font - Bold True

Label5 ID txtvalorbebida

Text Valor Bebida:

Font - Bold True

Label6 ID txtsubtotal

Text Subtotal:

Font - Bold True

Label7 ID txtiva

Text I.V.A.:

Font - Bold True

Label8 ID txttotal

Text Total a Pagar:

Font - Bold True

TextBox1 ID valorcomida

Text En blanco

TextBox2 ID valorbebida

Text En blanco

TextBox3 ID subtotal

Text En blanco

TextBox4 ID iva

Text En blanco

TextBox5 ID total

Text En blanco

ListBox1 ID listacomida

AutoPostBack true

RadioButton1 ID botongaseosa

Text Gaseosa

AutoPostBack true

GroupName bebidas

RadioButton2 ID botonjugo

Text Jugo

AutoPostBack true

GroupName bebidas

Page 295: libro manejo de archivos visual basic net 2010

295

RadioButton3 ID botonlimonada

Text Limonada

AutoPostBack true

RadioButton4 ID botoncerveza

Text Cerveza

AutoPostBack true

GroupName bebidas

Form1 ID formulario

Document Title Comidas Rápidas

Default.aspx Nombre del archivo Pagina.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 código

Una vez se hayan establecido las propiedades iníciales del formulario Web y sus

objetos, se puede agregar el código que se ejecutará en respuesta a un evento específico

de cada control. Los eventos ocurren cuando se realizan diferentes acciones sobre un

control u objeto. Por ejemplo, el evento Clic de un botón tiene lugar cuando un usuario

hace clic sobre él con el mouse. Por lo general en las aplicaciones es necesario escribir

código para lograr el objetivo de dar solución 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 Colección pulse en los tres puntos (…) para

ver la ventana Editor de la colección ListItem:

Page 296: libro manejo de archivos visual basic net 2010

296

Figura B.12 Formulario Web con el control ListBox seleccionado.

Pulse el botón Agregar del Editor de la colección ListItem, busque la propiedad

Text y cámbie el texto por Hamburguesa. Realice los mismos pasos para agregar los

textos: Pizza, Perro caliente, Choriarepa. Por último pulse el botón Aceptar.

Figura B.13 Agregación 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 código:

If listacomida.SelectedIndex = 0 Then valorcomida.Text = "5000" End If

Page 297: libro manejo de archivos visual basic net 2010

297

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 código se utiliza la estructura de control if para determinar qué

posición 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

función 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 código:

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 código:

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

código:

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 código:

Page 298: libro manejo de archivos visual basic net 2010

298

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 códigos 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.

También se actualizan los objetos subtotal, iva y total.

B.6 Ejecutar la aplicación 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 botón Iniciar depuración de la barra de herramientas estándar. También puede presionar Ctrl+F5 para ejecutar el sitio Web. Otra forma es la opción Iniciar depuración del menú Depurar.

2. Cuando termine de ejecutar la aplicación se debe cerrar el formulario Web para regresar al entorno de programación.

Figura B.14 Ventana de ejecución de sitio Web MiProgramaWeb.

Cuando se ejecuta el sitio Web se visualizará la ventana de Depuración no

habilitada. Si se ejecuta Modificar el archivo Web.config para habilitar la

depuración se mostrará la página 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 depuración se mostrará inicialmente una página Web en

blanco, la cual deberá cerrar para visualizar el sitio Web ejecutado (cada vez que se

ejecute esta opción se visualizará la ventana de Depuración no habilitada). Seleccione la

primera opción para ver la siguiente figura.

Page 299: libro manejo de archivos visual basic net 2010

299

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.

Page 300: libro manejo de archivos visual basic net 2010

300

B.7 Cerrar y abrir un sitio Web

Para cerrar el sitio Web MiProgramaWeb o cualquier otro sitio web, estando en modo

diseño se pueden realizar los siguientes pasos:

3. En el menú Archivo, hacer clic en la opción Cerrar Proyecto.

4. Si desea cerrar el sitio Web y salir de Visual Studio, en el menú Archivo haga clic en la opción Salir.

En cada caso se deben guardar los nuevos cambios que se hayan realizado.

Para volver a abrir la aplicación MiProgramaWeb o cualquier otra aplicación

existente se deberán 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 aplicación. Si por el contrario, no se visualiza la aplicación en el menú Archivo, seleccione Abrir sitio Web..., busque la carpeta MiProgramaWeb y pulse el botón Abrir para abrir la aplicación Web en el entorno de desarrollo de Visual Basic .NET.

Page 301: libro manejo de archivos visual basic net 2010

301

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 versión de Visual

Studio.

C.1. Conectarse a SQL Server.

Cuando se instala SQL Server, en los programas existe una opción 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 omisión aparece el nombre del servidor en donde fue

instalado SQL Server.

2. Authenticacion: Por omisión aparece Windows Authentication, la otra opción

es SQL Server Authentication. Si selecciona SQL Server Authentication, se

Page 302: libro manejo de archivos visual basic net 2010

302

deberá digitar el User Name y el Password creado cuando se realizó la

instalación de SQL Server.

3. Pulsar el botón 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 opción Databases y pulse el botón

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 opción New DataBase para ver la siguiente ventana:

Page 303: libro manejo de archivos visual basic net 2010

303

Figura C.5 Ventana para crear una nueva base de datos.

Escriba el nombre de la base de datos en la opción Database name:

(bdlibrovbnet para los ejemplos del libro) y pulse el botón 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:

Page 304: libro manejo de archivos visual basic net 2010

304

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.

Page 305: libro manejo de archivos visual basic net 2010

305

Seleccione New Table para ver la ventana de diseño de la tabla, como se aprecia

en la siguiente figura:

Figura C.9 Ventana de diseño de una tabla.

Para agregar los campos a la tabla en Column Name escriba nit, en Data Type

seleccione nvarchar(50) (campo alfanumérico).

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

Page 306: libro manejo de archivos visual basic net 2010

306

último seleccione el campo nit y pulse el icono para crear la clave primaria ( ), la

figura quedará:

Figura C.11 Ventana con los campos de la tabla y nit como llave primaria.

Ahora se debe guardar la tabla, pulse el signo para visualizar la ventana de

cambios.

Figura C.12 Ventana de cambio de una tabla.

Pulse el botón Yes para obtener la ventana para escoger el nombre Choose

Name.

Page 307: libro manejo de archivos visual basic net 2010

307

Figura C.13 Ventana para escribir el nombre de la tabla creada.

Escriba como nombre de la tabla clientes y pulse el botón 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 continuación:

Figura C.14 Estructura tabla pedidos.

Figura C.15 Estructura tabla productos.

Page 308: libro manejo de archivos visual basic net 2010

308

Figura C.16 Estructura tabla ventas.

Al finalizar de crear las tablas, la estructura de la base de datos con las tablas

quedaría 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 había

creado.

Open Table: para abrir una ventana de edición 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.

Page 309: libro manejo de archivos visual basic net 2010

309

Figura C.18 Opciones para la manipulación de una tabla.

Seleccione la tabla clientes y dé clic derecho y escoja la opción Open Table

para insertar información a la tabla.

Figura C.19 Ventana para insertar datos a la tabla clientes.

Inserte la información de acuerdo con la siguiente figura:

Figura C.20 Ventana con datos insertados en la tabla clientes.

Page 310: libro manejo de archivos visual basic net 2010

310

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 omisión se muestra la siguiente ventana:

Figura C.21 Ventana al seleccionar el icono Show SQL Pane.

Si se escribe la instrucción SQL “Select * from clientes where nit>400” y se

pulsa el icono de verificación de sintaxis de instrucciones SQL (Verify SQL sintax)

se visualizará la siguiente ventana:

Figura C.22 Ventana de verificación de sintaxis SQL.

Al pulsar el botón Aceptar se mostrará la figura:

Page 311: libro manejo de archivos visual basic net 2010

311

Figura C.23 Ventana al Aceptar la verificación de sintaxis SQL.

Para ejecutar la instrucción SQL de deberá dar clic en el icono (Execute

SQL), se verá la siguiente figura:

Figura C.24 Ventana con la instrucción SQl ejecutada.

Ahora se deberán llenar con datos las tablas pedidos, productos y ventas de

acuerdo con las siguientes figuras:

Page 312: libro manejo de archivos visual basic net 2010

312

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 opción New Database Diagram.

Para ver la ventana de adición de tablas:

Page 313: libro manejo de archivos visual basic net 2010

313

Figura C.28 Ventana Add Table de la opción New Database Diagram.

Seleccione una tabla y pulse el botón Add. Realice esta misma operación con

cada una de las tablas restantes. Al terminar, pulse el botón 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 manténgalo pulsado y arrástrelo hacia el campo nit de la

tabla pedidos, suelte el mouse para ver la ventana Tables and Columns.

Page 314: libro manejo de archivos visual basic net 2010

314

Figura C.30 Ventana Tables and Columns.

En el campo Relationship name escriba el nombre de la relación. 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 botón OK para

visualizar la ventana Foreign Key Relationship.

Figura C.31 Ventana Foreign key Relationship.

En esta ventana se visualizan todas las características de la relación. Pulse el

botón OK para terminar. Realice las demás relaciones hasta obtener la siguiente figura:

Page 315: libro manejo de archivos visual basic net 2010

315

Fgura C.32 Ventana de diagramas con las relaciones entre tablas.

Ahora se debe guardar el diagrama, pulse el signo para visualizar la ventana

de cambios en un diagrama.

Figura C.33 Ventana de cambios en un diagrama de la base de datos.

Pulse el botón Yes para obtener la ventana para escoger el nombre Choose

Name.

Figura C.34 Ventana para escribir el nombre del diagrama creado.

Page 316: libro manejo de archivos visual basic net 2010

316

Escriba como nombre del diagrama relaciontablas y pulse el botón 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 botón Yes se guardarán 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 manipulación de los diagramas.

C.5 Crear una vista

Una vista es un espejo de cierta información 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 opción New View. Para ver la ventana de adición de vistas:

Page 317: libro manejo de archivos visual basic net 2010

317

Figura C.37 Ventana para adicionar tablas a una vista.

Adicione las tablas clientes y pedidos. Al terminar pulse el botón 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 ejecución de la vista:

Page 318: libro manejo de archivos visual basic net 2010

318

Figura C.39 Ventana de ejecución de la vista creada.

Ahora se debe guardar la vista creada, pulse el signo para visualizar la

ventana de cambios en una vista.

Figura C.40 Ventana de cambios en una vista.

Pulse el botón Yes para obtener la ventana para escoger el nombre Choose

Name.

Figura C.41 Ventana para escribir el nombre de la vista creada.

Page 319: libro manejo de archivos visual basic net 2010

319

Escriba como nombre de la vista vista_clientes_pedidos y pulse el botón OK.

Se visualizará la siguiente figura:

Figura C.42 Ventana con la vista guardada.

Page 320: libro manejo de archivos visual basic net 2010

320

ANEXO D

ORACLE DATABASE 10G EXPRESS

D.1 Instalación

De la siguiente dirección:

http://www.oracle.com/technology/software/products/database/xe/index.html

descargue el Oracle Database 10g Express o una versión 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.

Page 321: libro manejo de archivos visual basic net 2010

321

Al dar doble clic sobre éste, se inicializará el asistente de instalación de Oracle

Database 10g Express, como muestra la siguiente figura:

Figura D.4 Asistente InstallShield.

Al terminar la extracción de los archivos necesarios para la instalación de

ORACLE se visualizará la siguiente ventana:

Figura D.5 Asistente de instalación Oracle Database 10g Express Edition.

Pulse el botón Siguiente> para visualizar la ventana de contrato de licencia:

Page 322: libro manejo de archivos visual basic net 2010

322

Figura D.6 Ventana del acuerdo de licencia Oracle Database 10g Express Edition.

En esta ventana seleccione la opción “Acepto los términos del acuerdo de

licencia” y pulse el botón Siguiente> para visualizar la ventana de Seleccionar

Ubicación de Destino.

Figura D.7 Ventana de ubicación Oracle Database 10g Express Edition.

En esta pantalla se específica 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), después pulse el botón Siguiente> para visualizar la ventana Específicar

contraseñas de Bases de Datos.

Page 323: libro manejo de archivos visual basic net 2010

323

Figura D.8 Ventana de contraseñas Oracle Database 10g Express Edition.

En esta ventana digite la contraseña que considere. Para esta instalación se digitó

la contraseña 123456. Pulse el botón Siguiente> para visualizar la ventana Resumen.

Figura D.9 Ventana Resumen de instalación Oracle Database 10g Express Edition.

Revise cada uno de los valores y pulse el botón Instalar, para visualizar la

ventana de Estado de la Instalación.

Page 324: libro manejo de archivos visual basic net 2010

324

Figura D.10 Ventana Estado de instalación Oracle Database 10g Express Edition.

Al finalizar el proceso se visualizará la ventana Finalización de la instalación,

donde por default está habilitada la opción Iniciar la pagina inicial de la base de

datos.

Figura D.11 Finalización instalación de Oracle Database 10g Express Edition.

Pulse el botón Terminar para visualizar la pantalla de inicio de ORACLE

Database Express Edition.

Figura D.12 Ventana para conectarse a Oracle Database 10g Express Edition.

Page 325: libro manejo de archivos visual basic net 2010

325

Para realizar la conexión a la base de datos es necesario digitar el usuario y la

contraseña. Por default el nombre de usuario es system, y la contraseña será aquella que

fue digitada en la ventana Específicar contraseñas 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 Creación 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 opción Crear y allí elegir Tablas.

Figura D.14 Ventana con la opción crear tablas en Oracle Database 10g.

Page 326: libro manejo de archivos visual basic net 2010

326

Para visualizar la siguiente ventana:

Figura D.15 Ventana inicial para crear una tabla en Oracle Database 10g.

Aquí seleccione la opción 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 selección del objeto Tabla.

Elija la opción Tabla para visualizar la ventana en donde se dará el nombre a la

tabla y se digitarán 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 serán:

Page 327: libro manejo de archivos visual basic net 2010

327

Figura D.17 Estructura tabla clientes.

Nombre de la columna Tipo

nit Varchar2

representante Varchar2

razonsocial Varchar2

direccion Varchar2

telefono Varchar2

ciudad Varchar2

credito Number

La ventana debería quedar de la siguiente manera:

Figura D.18 Ventana de campos de la tabla clientes.

Al terminar pulse el botón Siguiente> para crear la clave primaria, este paso

visualizará la siguiente ventana:

Figura D.19 Ventana de creación de clave primaria.

Page 328: libro manejo de archivos visual basic net 2010

328

Aquí en la opción clave primaria seleccione Sin rellenar, el nombre de la

restricción 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 botón Siguiente> para visualizar la ventana de Clave

Ajena.

Figura D.20 Ventana de creación de clave ajena.

Para el ejemplo no se hace necesario crear una clave ajena, por lo tanto pulse el

botón Siguiente> para visualizar la ventana de restricciones.

Figura D.21 Ventana de restricciones de una tabla.

Page 329: libro manejo de archivos visual basic net 2010

329

Para el ejemplo tampoco se hace necesario crear restricciones a la tabla, por

consiguiente pulse el botón Terminar para visualizar la ventana de Confirmar.

Figura D.22 Ventana de confirmación de creación de una tabla.

Pulse el botón 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 creación de la tabla.

Page 330: libro manejo de archivos visual basic net 2010

330

El siguiente paso es insertarle información a la tabla, seleccionando la opción

Datos, se mostrará el mensaje “esta tabla no contiene ningún dato”, ya que hasta el

momento no se le ha ingresado ningún dato.

Figura D.24 Ventana para insertar datos en una tabla.

Para insertar datos seleccione la opción Insertar Fila, la cual mostrará la

siguiente ventana:

Figura D.25 Inserción de datos en una tabla.

Page 331: libro manejo de archivos visual basic net 2010

331

Aquí rellene con información cada uno de los campos de la tabla. Al terminar de

digitar información en el último campo de la tabla puede seleccionar el botón Crear o

Crear y Crear Otro. El botón Crear y Crear Otro le permitirá guardar el registro

digitado y limpiar los campos para ingresar nueva información en otro registro. El botón

Crear guarda el último registro digitado y visualizará la tabla con la información 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 opción Desconectarse,

para visualizar la siguiente pantalla:

Figura D.27 Ventana de desconexión de Oracle.

Page 332: libro manejo de archivos visual basic net 2010

332

Í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 comparación, 46 Conectarse a SQL Server, 299 Conexión 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 Diseñador 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 conexión:, 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

Page 333: libro manejo de archivos visual basic net 2010

333

ORDER, 45 Orientada a objetos, 44 Output, 24 Persist Security Info, 62 Position, 81 PostedFile, 165 Probar la conexión, 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 depuración 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

Page 334: libro manejo de archivos visual basic net 2010

334

BIBLIOGRAFÍA

CEBALLOS, Javier. MICROSOFT VISUAL BASIC .NET LENGUAJE Y

APLICACIONES, Mexico, Editorial Alfaomega Ra-Ma, 2a edición, 2007.

HARWRYSZKIEWYCZ, I T. ANÁLISIS Y DISEÑO DE BASE DE DATOS,

México, Editorial Megabyte, Noriega Editores. 1994.

JAMSA, Kris. SUPERUTILIDADES PARA VISUAL BASIC .NE, Madrid,

Editorial Mc Graw Hill, 1a. edición, 2003.

INFOGRAFÍA

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-a-

datos.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-base-

de-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