Top Banner

of 334

Libro Manejo de Datos Con Visual Basic y ASP.net

Oct 13, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1

    Manejo de datos con

    Visual Basic y ASP .NET

    Carlos Alberto Vanegas

    Ingeniero de Sistemas

    Especialista en Ingeniera de Software

    Maestra en Ingeniera de Sistemas

    Profesor ctedra, Universidad Libre

    Profesor, Universidad Distrital Francisco Jos de Caldas

    Bogot agosto 2010

  • 2

  • 3

    Contenido

    PRLOGO .................................................................................................................................... 6

    INTRODUCCIN........................................................................................................................... 8

    1. MANEJO DE ARCHIVOS ........................................................................................................ 11

    1.1 Clase File ................................................................................................................... 11 1.1.1 Ejemplo clase File .................................................................................................. 12 1.2 Clases StreamWriter y StreamReader ...................................................................... 17 1.2.1 Ejemplo clases StreamWriter y StreamReader ..................................................... 17 1.3 Controles OpenFileDialog y SaveFileDialog .............................................................. 20 1.3.1 Ejemplo con los controles OpenFileDialog y SaveFileDialog ............................... 20 1.4 Archivos secuenciales ............................................................................................... 24 1.4.1 Ejemplo de archivos secuenciales ........................................................................ 24 1.5 Archivos binarios ........................................................................................................ 29 1.5.1 Ejemplo de archivos binarios ................................................................................. 29 1.6 Importar y exportar datos de una hoja de Excel ........................................................ 32 16.1 Ejemplo importar y exportar datos de Excel .......................................................... 32 1.7 Exportar datos a Word ............................................................................................... 38 1.7.1 Ejemplo de exportar datos de VB.NET a Word ..................................................... 38 1.8 Ejercicios de archivos ................................................................................................ 43

    2. BASES DE DATOS ................................................................................................................. 44

    2.1 Tipos de bases de datos ............................................................................................ 44 2.1.1 Relacionales .......................................................................................................... 44 2.1.2 Orientada a objetos ............................................................................................... 44 2.2 Lenguaje de Consulta Estructurado (S.Q.L.) ............................................................. 44 2.2.1 Comandos ............................................................................................................. 45 2.2.2 Clusulas ............................................................................................................... 45 2.2.3 Operadores lgicos................................................................................................ 46 2.2.4 Operadores de Comparacin ................................................................................ 46 2.2.5 Funciones de agregado ......................................................................................... 46 2.3 Sentencias Bsicas SQL ........................................................................................... 47 2.3.1 CREATE DATABASE ............................................................................................ 47 2.3.2 DROP DATABASE ................................................................................................ 48 2.3.3 CREATE TABLE .................................................................................................... 48 2.3.4 DROP TABLE ........................................................................................................ 48 2.3.5 INSERT .................................................................................................................. 48 2.3.6 ALTER ................................................................................................................... 48 2.3.7 SELECT ................................................................................................................. 49 2.3.8 DELETE ................................................................................................................. 50 2.3.9 UPDATE ................................................................................................................ 50 2.3.10 INNER JOIN ...................................................................................................... 51 2.4 Conexin a bases de datos ....................................................................................... 52 2.5 Ejemplos de conexin a bases de datos ................................................................... 52 2.5.1 Conexin a una base de datos de SQL Server ..................................................... 52 2.5.2 Conexin a una base de datos de ACCESS ......................................................... 56 2.5.3 Conexin a una base de datos de ORACLE con cdigo ...................................... 59 2.6 Conexin a una bases de datos con el Explorador de servidores ............................ 63 2.6.1 Conexin a SQL Server con el Explorador de servidores ..................................... 63 2.7 Ejercicios de conexin a bases de datos ................................................................... 71

    3. DESPLAZAMIENTO POR LOS REGISTROS DE UNA TABLA ............................................. 72

    3.1 Ejemplos de desplazamiento por los registros de una tabla ..................................... 72 3.1.1 Formulario con campos de texto y botones .......................................................... 72 3.1.2 Formulario con una cuadrcula y botones ............................................................. 82 3.1.2 Formulario con una cuadrcula y un control BindingNavigator .............................. 85 3.2 Ejercicios de desplazamiento por los registros de una tabla ..................................... 92

  • 4

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

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

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

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

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

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

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

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

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

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

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

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

    ANEXO B CREACIN DE APLICACIONES WEB ASP.NET ................................................... 288

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

  • 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 cdigo ............................................................................................................ 295 B.6 Ejecutar la aplicacin Web ......................................................................................... 298 B.7 Cerrar y abrir un sitio Web ......................................................................................... 300

    ANEXO C SQL SERVER .......................................................................................................... 301

    C.1. Conectarse a SQL Server. ........................................................................................ 301 C.2 Crear una base de datos ........................................................................................... 302 C.3 Crear tablas en la base de datos ............................................................................... 304 C.4 Crear Diagramas de una base de datos .................................................................... 312 C.5 Crear una vista ........................................................................................................... 316

    ANEXO D ORACLE DATABASE 10G EXPRESS .................................................................... 320

    D.1 Instalacin .................................................................................................................. 320 D.2 Creacin de una tabla en la base de datos con usuario system ............................... 325

    NDICE ...................................................................................................................................... 332

    BIBLIOGRAFA.......................................................................................................................... 334

    INFOGRAFA ............................................................................................................................. 334

  • 6

    PRLOGO

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

    para el manejo de datos desde el entorno del lenguaje de Programacin Visual Basic

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

    aquellos que estn interesados en conocer cmo se puede guardar o recuperar

    informacin desde archivos de texto plano, importar o exportar desde Visual Basic

    .NET datos a otros programas como Excel, Word, etc... Adems realizar la conexin a

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

    operaciones entre tablas y la relacin de stas. El material didctico del libro se basa en

    el aprendizaje guiado por la conceptualizacin de cada tema, la realizacin de ejemplos

    prcticos explicados y con grficos que visualizan el objetivo de los ejercicios.

    Todos los ejemplos del libro han sido compilados y ejecutados con el programa

    Microsoft Visual Studio 2008 (la mayora de los ejemplos tambin los puede compilar y

    ejecutar con las versiones Express Edition Visual Basic 2005/2008 y Visual Web

    Developer 2005/2008); cada ejemplo es explicado detalladamente, solamente se omiten

    explicaciones en aquellos casos en donde se ha realizado con anterioridad.

    Este libro se dirige fundamentalmente a personas que conozcan el lenguaje de

    programacin Visual Basic en el entorno .NET, es decir, en este libro se supone que el

    lector tiene conocimiento sobre los conceptos bsicos de programacin de este lenguaje,

    sabe crear y ejecutar proyectos de Visual Basic en el entorno .NET (Windows Forms,

    ASP), aunque en los anexos A y B se explica en forma breve como trabajar con

    proyectos Windows Forms y sitios Web (ASP.NET). Adems, que tenga conocimientos

    sobre programacin orientada a objetos. Tambin es recomendable tener nociones

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

    indispensable que tenga la conceptualizacin terica y ojal prctica de bases de datos.

    Captulos del libro

    Manejo de datos con Visual Basic y ASP .NET contiene 8 captulos y 4 anexos

    distribuidos de la siguiente forma:

    Captulo 1, Manejo de Archivos: Se conceptualiza sobre las clases File, StreamWriter, StreamReader, los controles OpenFileDialog y

    SaveFileDialog, como tambin los conceptos de archivos secuenciales y

    binarios. Adems, cmo importar y exportar datos. Todo esto apoyado con

    ejemplos explicados sobre cada tema.

    Captulo 2, Bases de datos: Se trabajan los conceptos bsicos de bases de datos, as como tambin se realiza una descripcin del lenguaje estructurado

    de consulta SQL. Adems se realizan ejemplos de sentencias bsicas de

    SQL. Por otro lado, se desarrollan ejemplos para obtener la conexin a las

    bases de datos SQL Server, Access y Oracle.

    Captulo 3, Desplazamiento por los registros de una tabla: Bsicamente lo que se realiza en este captulo son diversos ejemplos que permiten el

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

    datos.

  • 7

    Captulo 4, Operaciones con tablas de una base de datos: Se manejan ejemplos de las distintas operaciones que se pueden realizar con los registros

    de una tabla como son: insertar, consultar, buscar, eliminar, actualizar y

    generar reportes. Cada operacin es ilustrada con ejemplos debidamente

    explicados.

    Captulo 5, Manejo de las relaciones de tablas en una base de datos: Aqu se conceptualiza y se crean ejemplos sobre la relacin de tablas de una

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

    as como la creacin de reportes con tablas relacionadas.

    Captulo 6, Manejo de Archivos con ASP.NET: Se conceptualiza sobre ASP. NET, como tambin se crean diversos ejemplos de escritura y lectura

    de archivos de texto plano en una aplicacin Web.

    Captulo 7, Bases de datos con ASP.NET: Se disean ejemplos ilustrativos sobre la operacin y manipulacin de los registros de una tabla

    utilizando una aplicacin Web. Con los ejemplos se puede verificar la

    estructura de una tabla, la conexin a una base de datos con distintos

    controles, el desplazamiento de registros y las operaciones de insercin,

    eliminacin, modificacin de registros, como tambin la creacin de

    reportes.

    Captulo 8, Manejo de tablas relacionadas con ASP.NET: En este captulo se disearon ejemplos que permiten obtener la relacin entre tablas

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

    Anexo A: Se explica en forma breve cmo se crean proyectos Windows Forms, el diseo de la interfaz de usuario, la modificacin de los controles

    del proyecto, la escritura de cdigo, as como guardar y ejecutar un proyecto

    Windows Forms. Adems, cmo cerrar y/o abrir un proyecto Windows

    Forms.

    Anexo B: Se explica cmo se crean nuevos sitios Web, el diseo de la interfaz de usuario, la modificacin de los controles del sitio Web, la

    escritura de cdigo y la ejecucin de un sitio Web. Adems, cmo cerrar y/o

    abrir un sitio Web.

    Anexo C: Se explica cmo se realiza la conexin a SQL Server, as como la creacin de una base de datos, la creacin de tablas, diagramas y vistas

    dentro de la base de datos.

    Anexo D: En este anexo se explica cmo se realiza la instalacin de la base de datos Oracle Database 10g Express Edition; tambin, cmo se crea e

    insertan datos en una tabla de dicha base de datos.

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

    contiene cada uno de los captulos del libro, los anexos explicativos del software que se

    utiliz, el cdigo fuente de todos los ejemplos mostrados en el libro por captulo, as

    como el software utilizado y otros aspectos de inters. Adems se incluye el documento

    en pdf.

    Si al insertar el CD no se ejecuta automticamente, el usuario deber abrir el

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

    podr ver la pgina de inicio; pulse la imagen Manejo de datos con Visual Basic y ASP.NET, se visualizar la pgina principal donde encontrar los vnculos para cada captulo, los anexos, el software, los archivos con el cdigo fuente y el documento del

    libro.

  • 8

    INTRODUCCIN

    Visual Basic .NET (VB.NET) es una versin de Visual Basic enfocada al desarrollo de

    aplicaciones .NET, e implementada sobre el Framework.NET (ms adelante se explica

    este tema). Dicho lenguaje de programacin es orientado a objetos, donde es posible la

    creacin de clases que pueden derivarse de otras mediante herencia, la sobrecarga de

    mtodos, el control estructurado de excepciones o la creacin de aplicaciones con

    mltiples hilos de ejecucin, adems de contar con la extensa librera de .NET, con la

    que permite desarrollar tanto aplicaciones Windows Forms y formularios Web, como el

    manejo de diversos proveedores de bases de datos, el envo de datos mediante

    documentos XML1 y la generacin de informes a partir de archivos de texto, bases de

    datos, etc.

    Para programar con Visual Basic .NET generalmente se utiliza el entorno de

    desarrollo integrado Microsoft Visual Studio (2003, 2005, 2008), aunque tambin es

    posible trabajar con el software libre SharpDevelop. Todos los programas basados en

    Visual Basic. NET requieren un Framework .NET para ejecutarse.

    Microsoft .NET.

    Microsoft .NET es un entorno integrado de ejecucin, compilacin, depuracin y

    desarrollo de aplicaciones. Los diferentes lenguajes de programacin de la plataforma

    comparten el mismo entorno, normas, reglas y libreras de Microsoft .NET Framework.

    La plataforma .NET proporciona software que permite conectar sistemas, informacin,

    dispositivos y usuarios distintos de un modo ms unificado y personalizado. Incorpora

    servicios Web XML como medio para permitir la interoperabilidad entre tecnologas

    diferentes. Tambin proporciona a los desarrolladores de software las herramientas y la

    tecnologa para crear rpida y eficazmente soluciones de negocio que abarcan mltiples

    aplicaciones y mltiples dispositivos cliente entre diversas organizaciones, adems

    permite a los usuarios controlar qu informacin, cmo y cundo se les entrega. Sus

    componentes de trabajo son:

    El conjunto de lenguajes de programacin: adems del Visual Basic, la plataforma .NET puede trabajar los lenguajes de programacin C++, C#, J#

    entre otros.

    La biblioteca de clases base o BCL: maneja las operaciones bsicas involucradas en el desarrollo de aplicaciones, algunas operaciones son: interaccin con

    dispositivos perifricos, manejo de datos, administracin de memoria,

    administracin de componentes Web, herramientas graficas, operaciones

    matemticas, generacin de cdigo, etc. La BCL se clasifica en: .NET, Windows

    Forms, ASP.NET, ADO.NET.

    El entorno comn para ejecucin de lenguajes o CLR (Common Language Runtime) es el entorno de ejecucin en donde se cargan las aplicaciones

    desarrolladas en los diferentes lenguajes. Esta herramienta compila el cdigo

    fuente de los lenguajes soportados por .NET en un cdigo intermedio (Microsoft

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

    1 XML es el estndar de Extensible Markup Language. XML no es ms que un conjunto de reglas para

    definir etiquetas semnticas que nos organizan un documento en diferentes partes. XML es un

    metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. 2 Lenguaje ensamblador orientado a objetos y est basado en pilas.

  • 9

    la especficacin CLS (Common Language Specification) que determina las

    reglas necesarias para crear el cdigo MSIL compatible con el CLR. Adems,

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

    cdigo mquina4 real que se ejecuta en la plataforma del cliente. De esta forma

    se consigue con .NET independencia de la plataforma de hardware.

    .NET Framework

    El .NET Framework es un conjunto de servicios de programacin diseados para

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

    diseo de .NET Framework est enfocado a cumplir los objetivos siguientes:

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

    que el cdigo de los objetos se pueda almacenar y ejecutar en forma local pero

    distribuida en Internet o ejecutar en forma remota.

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

    la implementacin de software y los conflictos de versiones.

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

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

    plena confianza.

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

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

    intrpretes de comandos.

    Ofrecer al programador una experiencia coherente entre tipos de aplicaciones

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

    .NET Framework contiene dos componentes principales: Common Language

    Runtime y la biblioteca de clases de .NET Framework. Common Language Runtime es

    el fundamento de .NET Framework. El motor en tiempo de ejecucin se puede

    considerar como un agente que administra el cdigo en tiempo de ejecucin y

    proporciona servicios centrales, como la administracin de memoria, la administracin

    de subprocesos y la interaccin remota, al tiempo que aplica una seguridad estricta a los

    tipos y otras formas de especficacin del cdigo que fomentan su seguridad y solidez.

    De hecho, el concepto de administracin de cdigo es un principio bsico del motor en

    tiempo de ejecucin. El cdigo destinado al motor en tiempo de ejecucin se denomina

    cdigo administrado, a diferencia del resto de cdigo, que se conoce como cdigo no

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

    Framework, es una completa coleccin orientada a objetos de tipos reutilizables que se

    pueden emplear para desarrollar aplicaciones que abarcan desde las tradicionales

    herramientas de interfaz grfica de usuario (GUI) o de lnea de comandos hasta las

    3 Tcnica para mejorar el rendimiento de sistemas de programacin que compilan a bytecode, consistente

    en traducir el bytecode a cdigo mquina nativo en tiempo de ejecucin. 4 Sistema de cdigos directamente interpretable por un circuito microprogramable, como el

    microprocesador de un computador o el microcontrolador de un autmata (un PLC). Este lenguaje est

    compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mquina.

  • 10

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

    como los formularios Web Forms y los servicios Web XML.

    En la ilustracin siguiente se muestra la relacin de Common Language Runtime y

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

    .NET Framework en contexto.

  • 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 magnticos, pticos y cintas magnticas.

    Para procesar archivos en Visual Basic .NET se debe hacer uso del espacio de

    nombres5 System.IO. El espacio de nombres System.IO contiene enumeraciones para

    la apertura de archivos, el acceso a los archivos, el uso compartido de archivos,

    adems, de clases para las operaciones de rutas de acceso y la manipulacin de flujos de

    datos.

    1.1 Clase File

    Se puede utilizar la clase File para operaciones como copiar, mover, cambiar el nombre,

    crear, abrir, eliminar y anexar texto a archivos de texto plano. Tambin con la clase File

    se puede obtener y definir atributos del archivo o informacin relacionada con la hora y

    fecha de creacin, el acceso y la escritura en un archivo.

    Stream es la clase base de todas las secuencias de flujos de datos. Una secuencia

    es una abstraccin de una secuencia de bytes, como un archivo, un dispositivo de

    entrada/salida, un canal de comunicacin interprocesos o un socket TCP/IP. La clase

    Stream y sus clases derivadas proporcionan una visin genrica de diferentes tipos de

    entrada y salida, aislando al programador de los detalles especficos del sistema

    operativo y sus dispositivos subyacentes.

    Algunos mtodos de la clase File son:

    Tabla 1.1 Mtodos de la clase File.

    Mtodo Proceso

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

    Create(ruta) Crea un archivo en la ruta especficada

    AppendText Anexa texto a un archivo de texto existente.

    Delete Elimina un archivo existente.

    Copy Copia un archivo

    Exists Determina si existe un archivo especfico.

    Open Abre un archivo de texto existente

    Move Mueve un archivo a un sitio especfico.

    GetCreateTime Devuelve la hora y la fecha de la creacin de un archivo.

    Replace Reemplaza el contenido de un archivo en otro.

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

  • 12

    1.1.1 Ejemplo clase File

    Hacer un nuevo proyecto llamado GuardarbrirConFile y realizar un programa que

    permita a un usuario guardar informacin en un archivo de texto plano, recuperar la

    informacin de ste, as como adicionarle informacin utilizando la clase File.

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

    brevemente la creacin, la interfaz de usuario, el establecimiento de propiedades a los

    controles, la escritura de cdigo, la ejecucin de un nuevo proyecto Windows Forms.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 2 Label, 2 TextBox, 3

    Button.

    Figura 1.1 Interfaz de usuario (GuardarbrirConFile).

    Establecer las propiedades de los objetos de la interfaz de usuario

    Establezca las siguientes modificaciones a las propiedades en los controles:

    Tabla 1.2 Propiedades de los controles del proyecto GuardarbrirConFile.

    Control 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

  • 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 (GuardarbrirConFile).

    Escribir cdigo

    a) Antes de la apertura de la clase se debe importar el espacio de nombres System.IO. D doble clic sobre el formulario y busque Public class formulario

    y antes de este cdigo escriba imports System.IO. El cdigo queda de la

    siguiente manera:

    imports System.IO Public Class formulario End Class

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

    de la clase File.

    b) En modo diseo del formulario, seleccione el objeto botonguardar, d doble clic para abrir el editor de cdigo botonguardar_Click y escriba el siguiente

    cdigo:

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

  • 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 prctica cuando se estn

    realizando operaciones de entrada/salida para evitar salidas anormales del

    sistema. En el bloque Try se establece el cdigo que realiza una tarea especfica

    y que en un caso dado puede generar un error; en el bloque Catch ir el cdigo

    que realizar las acciones a seguir en caso de error.

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

    StreamWriter (flujo de escritura). A dicho objeto se le asigna la creacin del

    archivo de texto c:\datosentexto.txt por medio del mtodo createText de la clase File. Utilizando el mtodo write y envindole como parmetro el

    contenido del control llamado texto, se guarda la informacin en el archivo

    especficado. Por otro lado, se cierra el archivo utilizando el mtodo close() y se

    limpia el objeto texto. Por ltimo se muestra una caja de mensajes con el

    mensaje Texto Guardado. En el bloque Catch se captura en el objeto ex de tipo Exception el error que se pueda generar y se mostrar el mensaje Error al guardar el archivo.

    c) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo botonabrir_Click y escriba el siguiente cdigo:

    Try Dim leer As StreamReader leer = File.OpenText("c:\datosentexto.txt") texto.Text = leer.ReadToEnd leer.Close() Catch ex As Exception MsgBox("Error al leer el archivo", MsgBoxStyle.Critical) End Try

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

    StreamReader (flujo de lectura). A dicho objeto se le establece la apertura del

    archivo de texto c:\datosentexto.txt por medio del mtodo openText de la clase File. Utilizando el mtodo readToEnd se lee el archivo de texto desde el

    inicio hasta el final y se le asigna su contenido al objeto texto. Por otro lado, se

    cierra el archivo utilizando el mtodo close (). En el bloque Catch si se genera

    algn error se mostrar el mensaje Error al leer el archivo.

    d) Seleccione el objeto botonadicionar, d doble clic para abrir el editor de cdigo botonadicionar_Click y escriba el siguiente cdigo: Try

    texto.Text = " " Dim adicionartexto As StreamWriter adicionartexto = File.AppendText("C:\datosentexto.txt") adicionartexto.WriteLine(textoadicional.Text) adicionartexto.Close() textoadicional.Text = "" Catch ex As Exception MsgBox("Error al adicionar inf. al archivo", MsgBoxStyle.Critical) End Try

  • 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 adicin del texto al

    archivo c:\datosentexto.txt por medio del mtodo AppendText de la clase File. Utilizando el mtodo WriteLine y envindole como parmetro el

    contenido del control llamado textoadicional, se adiciona la informacin al final

    del archivo especficado. Por otro lado se cierra el archivo utilizando el mtodo

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

    algn error, se mostrar el mensaje Error al adicionar inf. al archivo.

    Ejecutar el proyecto

    Para ejecutar el proyecto pulse la tecla F5 o el icono , se visualizar la figura 1.2. Al

    escribir creando un nuevo archivo para guardarlo con el botn Guardar en archivo en el objeto texto, dicha figura quedara as:

    Figura 1.3 Ejecucin aplicacin AbrirGuardarConFile.

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

    datosentexto.txt y el objeto texto se limpiar. Mostrndose la siguiente caja de texto:

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

  • 16

    Pulse el botn Aceptar para cerrar dicha caja. Al pulsar el botn Leer Archivo,

    se visualizar nuevamente la figura 1.3. Si se adiciona el texto adicionando texto al archivo que previamente haba guardado en el objeto textoadicional. El formulario deber ser semejante a la siguiente figura:

    Figura 1.5 Formulario con el texto original y el texto adicional.

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

    Archivo para visualizar la siguiente figura:

    Figura 1.6 Lectura del archivo con el texto adicional.

  • 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 opcin ms para la

    manipulacin de archivos de texto plano. Esta clase, entre otros, contiene el mtodo

    ReadToEnd cuyo objetivo es leer un archivo desde una posicin inicial hasta el final.

    La Clase StreamWriter (flujo de escritura) est diseada para la salida de

    caracteres. Esta clase contiene entre otros el mtodo Write para escribir informacin en

    el archivo.

    1.2.1 Ejemplo clases StreamWriter y StreamReader

    Crear un proyecto llamado GuardarbrirArchivoTexto y hacer un programa que

    permita a un usuario guardar informacin en un archivo de texto plano, as como poder

    abrirlo y visualizar el contenido de este, utilizando las clases StreamWriter y

    StreamReader.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 1 Label, 1 TextBox, 2

    Button.

    Figura 1.7 Interfaz de usuario (GuardarbrirArchivoTexto).

    Establecer las propiedades de los objetos de la interfaz de usuario

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

  • 18

    Tabla 1.3 Propiedades de los controles del proyecto GuardarbrirArchivoTexto.

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

    Escribir cdigo

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

    Try Dim archivo As New System.IO.StreamWriter("./archivotexto.txt") archivo.Write(texto.Text) archivo.Close() texto.Text = "" Catch ex As Exception MsgBox("No se pudo guardar la informacion", MsgBoxStyle.Critical) End Try

    Se define la variable archivo asignndosele un espacio de memoria de

    tipo System.IO.StreamWriter (), al cual se le enva como parmetro el nombre

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

  • 19

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

    objeto texto en el archivo. Por otro lado se cierra el archivo utilizando el mtodo

    close () y se limpia el objeto texto.

    b) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo y escriba el siguiente cdigo:

    Try Dim miruta As String = ("./archivotexto.txt") Dim archivo As New System.IO.StreamReader(miruta) texto.Text = archivo.ReadToEnd archivo.Close() Catch ex As Exception MsgBox("No se pudo guardar la informacion", MsgBoxStyle.Critical) End Try

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

    ruta y el nombre del archivo archivotexto.txt y la variable archivo asignndosele un espacio de memoria de tipo System.IO.StreamWriter ().

    Utilizando el mtodo ReadToEnd se lee el contenido del archivo y se le asigna

    al objeto texto. Por ltimo se cierra el archivo.

    Ejecutar el proyecto

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

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

    Figura 1.9 Ejecucin aplicacin GuardarbrirArchivoTexto.

    Al pulsar el botn con la etiqueta Guardar Archivo de texto, se crear un archivo de texto llamado archivotexto.txt y el objeto texto quedara en blanco. Al

    pulsar el botn Abrir Archivo de texto, se cargar en el objeto texto el contenido del

    archivo de texto.

  • 20

    1.3 Controles OpenFileDialog y SaveFileDialog

    Los controles OpenFileDialog y SaveFileDialog del cuadro de herramientas de Visual

    Basic .NET /2008, son cuadros de dilogo que permiten abrir y guardar archivos,

    respectivamente. El control OpenFileDialog representa un cuadro de dilogo para

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

    de dilogo para guardar un archivo nuevo o sobrescribir en un archivo existente. Estos

    controles obtienen su funcionamiento de la clase abstracta FileDialog. La clase

    FileDialog es un cuadro de dilogo modal; por tanto, al mostrarse, bloquea el resto de la

    aplicacin hasta que el usuario haya elegido un archivo o cancelado la operacin.

    1.3.1 Ejemplo con los controles OpenFileDialog y SaveFileDialog

    Realizar un proyecto llamado GuardarbrirConControles y disear un programa que

    permita a un usuario guardar informacin en un archivo de texto plano, as como poder

    abrirlo y visualizar el contenido de ste, utilizando los controles OpenFileDialog y

    SaveFileDialog.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 2 Label, 1 TextBox, 2

    Button, 1 OpenFileDialog y 1 SaveFileDialog.

    Figura 1.10 Interfaz de usuario (GuardarbrirArchivoConControles)

    Establecer las propiedades de los objetos de la interfaz de usuario

    Establezca las siguientes modificaciones a los controles:

  • 21

    Tabla 1.4 Propiedades de controles proyecto GuardarbrirArchivoConControles.

    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 guardarrchivo

    OpenFileDialog1 Name abrirrchivo

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

    Escribir cdigo

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

  • 22

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

    En el anterior cdigo se utiliza la propiedad Filter del control

    guardarrchivo para que cuando se abra el cuadro de dilogo solamente se

    visualicen los archivos con extensin .txt. El mtodo ShowDialog permite abrir

    el cuadro de dilogo. Utilizando la estructura if se pregunta si el nombre de

    archivo es diferente de vaco utilizando la propiedad FileName. Si se cumple la

    condicin se crea un objeto llamado guardar de tipo IO.StreamWriter al cual

    se le asigna espacio de memoria envindole como parmetro el nombre del

    archivo por intermedio de la propiedad FileName del control guardarrchivo.

    Por otro lado, se utiliza el mtodo Write para guardar el contenido del objeto

    texto; luego se cierra el objeto con el mtodo close () y por ltimo se limpia el

    objeto texto. Si el nombre del archivo est en blanco se mostrar un mensaje

    informando que el archivo esta vaco o no contiene informacin.

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

    escriba el siguiente cdigo:

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

    abrirrchivo.ShowDialog() If abrirrchivo.FileName "" Then Try Dim verarchivo As New IO.StreamReader(abrirrchivo.FileName) texto.Text = verarchivo.ReadToEnd verarchivo.Close() Catch ex As Exception MsgBox("No se pudo abrir el archivo") End Try Else MsgBox("Archivo no contiene informacin") End If

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

    diferente de vaco. Si se cumple la condicin se crea un objeto llamado

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

    envindole como parmetro el nombre del archivo por intermedio de la

    propiedad FileName del control abrirrchivo. Por otro lado, se utiliza el

    mtodo ReadToEnd para leer el archivo y asignarle el contenido al objeto texto,

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

    informacin, se mostrar un mensaje informando que el archivo esta vaci.

  • 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 botn Abrir Archivo de Texto se visualizar el cuadro de

    dilogo de Abrir. Se debe seleccionar un archivo de texto y pulsar el botn del cuadro

    de dilogo Abrir.

    Figura 1.12 Cuadro de Dilogo control abrirrchivo.

    El formulario presentara un aspecto similar:

    Figura 1.13 Formulario con archivo de texto abierto.

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

    dilogo de Guardar como, donde se deber digitar el nombre del archivo a guardar y

    pulsar el botn del cuadro de dilogo Guardar. Si el archivo ya existe, preguntar si desea sobrescribirlo.

  • 24

    Figura 1.14 Cuadro de dilogo control guardar archivo.

    1.4 Archivos secuenciales

    Otra forma de guardar o leer informacin de un archivo de texto plano es utilizar

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

    para guardar y leer la informacin se realiza desde el principio hasta el final del archivo,

    es decir, para acceder a un dato que se encuentra en la mitad del archivo es necesario

    empezar a recorrerlo desde el principio hasta encontrar el dato, o sea en forma

    secuencial. El acceso secuencial funciona mejor cuando se desea procesar archivos

    nicamente de texto y no archivos en los que los datos se dividen en una serie de

    registros.

    Cuando se abre un archivo para acceso secuencial, se debe especficar si se va a

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

    informacin al archivo (Append). Para accesar a un archivo secuencial se utiliza la

    funcin FileOpen. Cuando se abre un archivo secuencial para Input, el archivo ya debe

    existir; de lo contrario, se producir un error. No obstante, cuando se intenta abrir un

    archivo que no existe para Output o Append, la instruccin FileOpen primero crea el

    archivo y a continuacin lo abre. Una vez que se abre un archivo para una operacin

    Input, Output o Append, debe cerrarse con la instruccin FileClose antes de volver a

    abrirlo para realizar otro tipo de operacin.

    1.4.1 Ejemplo de archivos secuenciales

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

    un usuario guardar informacin en un archivo de texto plano, leer la informacin de

    ste, as como adicionarle ms informacin a dicho archivo utilizando archivos

    secuenciales.

    Crear la interfaz de usuario

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

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

    Button.

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

  • 26

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

    Figura 1.16 Interfaz de usuario modificada (ArchivosSecuenciales).

    Escribir cdigo

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

    End Try

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

    1, un nmero de archivo libre, c:\datossecuenciales.txt, nombre del archivo, OpenMode.OutPut, modo de apertura del archivo (salida). Con el mtodo

    PrintLine se imprime en una lnea del archivo el contenido de los objetos

    textonombre y textoapellido, luego se limpian dichos objetos y por ltimo se

    cierra el archivo.

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

    y escriba el siguiente cdigo: Try FileOpen(1, "c:\datossecuenciales.txt", OpenMode.Append) PrintLine(1, textonombre.Text, textoapellido.Text) textonombre.Text = "" textoapellido.Text = "" FileClose(1) Catch ex As Exception MsgBox("No se pudo adicionar el archivo") End Try

  • 27

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

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

    Append (adicionar). Este modo de apertura permite guardar ms informacin al

    final del archivo especficado.

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

    escriba el siguiente cdigo:

    Try

    FileOpen(1, "c:\datossecuenciales.txt", OpenMode.Input) Dim linea As String Do Until EOF(1) linea = LineInput(1) textolectura.Text = textolectura.Text & linea & vbCrLf Loop FileClose(1) Catch ex As Exception MsgBox("No se pudo abrir el archivo") End Try

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

    archivo libre, c:\datossecuenciales.txt, nombre del archivo, OpenMode.Input modo de apertura del archivo (entrada). Se define una variable llamada linea de

    tipo String, la cual servir para guardar cada lnea del archivo. Por otro lado se

    crea un ciclo (Do Until Loop) que recorrer el archivo hasta el final (EOF) lnea por lnea y utilizando el mtodo LineInput () se le asignar la informacin

    leida al objeto textolectura, por ltimo se cierra el archivo.

    Ejecutar el proyecto

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

    apellido en las respectivas cajas de texto y pulsar el botn Guardar archivo, se

    guardar dicha informacin en el archivo c:\datossecuenciales.txt. El formulario con la informacin quedara de la siguiente forma:

    Figura 1.17 Formulario con informacin de nombre y apellido.

  • 28

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

    los nombres y apellidos correspondientes y pulse el botn Adicionar texto, se podra

    obtener la siguiente pantalla:

    Figura 1.18 Formulario con informacin para adicionar.

    Al pulsar el botn Leer Archivo se leer el contenido del archivo de texto, como

    se muestra en la siguiente figura.

    Figura 1.19 Formulario con la informacin del archivo.

  • 29

    1.5 Archivos binarios

    Tambin es posible guardar o leer informacin desde un archivo con acceso binario.

    Con los archivos de acceso binario se puede almacenar informacin ya sea numrica, de

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

    obstante, es necesario conocer cmo se escribieron exactamente los datos en el archivo

    para poder recuperarlos correctamente. Por ejemplo, si almacena una serie de productos

    y unas cantidades, debe tener en cuenta que el primer campo (producto) es texto y el

    segundo (cantidades) es numrico.

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

    instruccin FileOpen. Una vez abierto, para escribir en el archivo se utiliza las

    funciones FilePut y FilePutObject. Para leer un archivo se manejan las funciones

    FileGet y FileGetObject.

    1.5.1 Ejemplo de archivos binarios

    Realizar un proyecto llamado ArchivosBinarios y hacer un programa que permita a un

    usuario guardar informacin en un archivo de texto plano, leer la informacin de este,

    utilizando archivos binarios.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 3 Label, 3 TextBox, 2

    Button.

    Figura 1.20 Interfaz de usuario (ArchivosBinarios).

    Establecer las propiedades de los objetos de la interfaz de usuario

    Establezca las siguientes modificaciones a los controles:

  • 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 cdigo

    a) Definir una estructura llamada Articulo despus de Public class formulario:

    Structure Articulo Dim producto As String Dim cantidad As String End Structure

  • 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 mxima de los datos.

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

    escriba el siguiente cdigo: Dim nombrearchivo As String

    Dim numeroarchivo As Short Dim inventario As Articulo inventario.producto = textoproducto.Text inventario.cantidad = textocantidad.Text numeroarchivo = FreeFile() nombrearchivo = "c:\datosaleatorios.txt" FileOpen(numeroarchivo, nombrearchivo, OpenMode.Binary) FilePut(numeroarchivo, inventario) FileClose(numeroarchivo)

    Se crean las variables nombrearchivo de tipo String, numeroarchivo

    de tipo Short e inventario de tipo Articulo. Se le asigna la informacin

    capturada en los objetos textoproducto y textocantidad a los datos de la

    estructura Articulo utilizando la instancia inventario. La variable

    numeroarchivo es inicializada con un nmero de archivo libre utilizando la

    funcin FreeFile (), como tambin se le asigna a la variable nombrearchivo la

    ruta y el nombre del archivo donde se guardar la informacin. Se abre el

    archivo en modo binario utilizando la funcin FileOpen que recibe como

    parmetros: un nmero de archivo libre (numeroarchivo), el nombre del

    archivo (nombrearchivo), la apertura del archivo binario (OpenMode.Binary).

    Con FilePut se escriben los valores que contiene la estructura inventario en el

    archivo binario y por ltimo se cierra el archivo.

    c) Seleccione el objeto botonabrir, d doble clic para abrir el editor de cdigo y

    escriba el siguiente cdigo:

    Dim nombrearchivo As String

    Dim numeroarchivo As Short numeroarchivo = FreeFile() nombrearchivo = "c:\datosaleatorios.txt" FileOpen(numeroarchivo, nombrearchivo, OpenMode.Binary) textolectura.Text = New String(" "c, 50) FileGet(numeroarchivo, textolectura.Text) FileClose(numeroarchivo)

    Como se puede apreciar, las primeras cinco lneas son exactamente

    iguales a la opcin de guardar. Se le asigna al objeto textolectura en su

    propiedad text un espacio de memoria de tipo char ( c), con un espacio para 50 caracteres. Se utiliza la funcin FileGet para leer el contenido del archivo,

    ste recibe como parmetros: el numero del archivo (numeroarchivo) y el

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

    ltimo se cierra el archivo.

  • 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 botn Guardar Archivo, se guardar dicha informacin en el

    archivo c:\datosaleatorios.txt. Al pulsar el botn Leer Archivo, el formulario con la informacin leda quedara de la siguiente forma:

    Figura 1.22 Formulario con informacin de un producto y una cantidad.

    1.6 Importar y exportar datos de una hoja de Excel

    Hasta el momento se ha trabajado con archivos de texto plano en donde se ha podido

    guardar, adicionar y recuperar informacin. Con Visual Basic .NET tambin es posible

    manipular archivos con otro tipo de formato; por eso en este aparte se exportar datos

    desde un proyecto de Visual Basic .NET a un archivo de Excel y se importarn datos de

    un archivo de Excel a un proyecto de Visual Basic .NET.

    16.1 Ejemplo importar y exportar datos de Excel

    Dentro de un proyecto llamado ImportarExportarExcel, hacer un programa que

    permita a un usuario exportar y/o importar datos de una hoja de Excel. Cuando se

    importe de Excel los datos se debern mostrar en un control DataGridView de Visual

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

    debern enviar todos los datos que contenga el control DataGridView a un archivo de

    Excel.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 1 Label, 1 TextBox, 2

    Button y 1 DataGridView.

  • 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:

  • 34

    Figura 1.24 Interfaz de usuario modificada (ImportarExportarExcel).

    Escribir cdigo

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

    importardatos.xls y en la hoja uno (1) escribir informacin en el rango A1:D10, como se muestra en la siguiente figura:

    Figura 1.25 Hoja de Excel con datos.

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

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

    Se llama al procedimiento importar_Excel, el cual tiene como

  • 35

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

    se encuentran los datos en Excel, el rango de datos a importar y el nombre del

    control DataGridView (tabla).

    b) D doble clic sobre el formulario y cree el siguiente procedimiento Sub:

    Private Sub importar_Excel(ByVal archivoexcel As String, ByVal nombrehoja As String, ByVal rangohoja As String, ByVal tabla As DataGridView) Try If System.IO.File.Exists(archivoexcel) Then Dim conjuntodedatos As System.Data.DataSet Dim adaptadordedatos As System.Data.OleDb.OleDbDataAdapter Dim conexion As String = "provider=Microsoft.Jet.OLEDB.4.0; " & "data Source =" & archivoexcel & "; Extended Properties=Excel 8.0;" Dim conectordedatos As System.Data.OleDb.OleDbConnection conectordedatos = New System.Data.OleDb.OleDbConnection(conexion) Dim selecciondedatos As String = "select * from " & "[" & nombrehoja & "$" & rangohoja & "]" adaptadordedatos = New System.Data.OleDb.OleDbDataAdapter (selecciondedatos,conectordedatos) conjuntodedatos = New System.Data.DataSet adaptadordedatos.Fill(conjuntodedatos) conectordedatos.Close() With tabla .DataSource = conjuntodedatos .DataMember = conjuntodedatos.Tables(0).TableName End With conjuntodedatos = Nothing conexion = Nothing adaptadordedatos = Nothing conectordedatos = Nothing Else MsgBox("No se ha encontrado el archivo: " & archivoexcel, MsgBoxStyle.Exclamation) End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try

    End Sub

    Se crea el procedimiento importar_Excel, el cual recibe como

    parmetros: las variables archivoexcel, nombrehoja, rangohoja de tipo String

    y tabla de tipo DataGridView. La variable archivoexcel contendr la ruta y el

    nombre del archivo de Excel, nombrehoja almacenar el nombre de la hoja de

    Excel, rangohoja obtendr el rango a importar y tabla visualizar los datos

    importados. Utilizando la estructura if y con el mtodo Exists se determina si el

    archivo existe. Si es verdadero, se crean las variables: conjuntodedatos de tipo

    DataSet para guardar el conjunto de datos a importar; adaptadordedatos de

    tipo OleDbDataAdapter, con la cual se obtiene el adaptador de datos OLEDB

    para recuperar los datos; conexion de tipo String que contendr la cadena de

    conexin a Excel; conectordedatos de tipo OleDbConnection que representa

    una conexin nica a un origen de datos; en este caso, se le asigna espacio de

    memoria y se le enva como parmetro la cadena de conexin; selecciondedatos

    de tipo String a la cual se le asigna la sentencia de seleccin SQL (select) que

    trae los datos de la hoja1(nombrehoja) en el rango especficado (rangohoja).

  • 36

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

    envindole como parmetro los datos seleccionados (selecciondedatos) y la

    cadena de conexin (conexiondedatos), tambin se asigna espacio de memoria

    de tipo DataSet al objeto conjuntodedatos y el adaptador de datos

    (adaptadordedatos) se rellena (fill) con el conjunto de datos. Por otro lado se

    cierra la conexin de los datos con close (). Adems se asigna a la propiedad

    DataSource del objeto tabla el conjunto de datos y al adaptador de datos se le

    asigna la lista de datos que contiene el archivo de Excel, por ltimo se liberan

    todos los objetos utilizando la palabra clave Nothing (liberar). Si la condicin es

    falsa se mostrar un mensaje donde se informa que no se pudo encontrar el

    archivo de Excel.

    c) Seleccione el objeto botonexportar, d doble clic para abrir el editor de cdigo y escriba el siguiente cdigo:

    exportar_Excel(tabla, tabla.Rows.Count)

    Se llama al procedimiento exportar_Excel, el cual tiene como

    parmetros: el objeto DataGridView llamado tabla y la cantidad de filas que

    contiene dicho objeto utilizando la funcin Count de la propiedad Rows.

    d) D doble clic sobre el formulario y cree el siguiente procedimiento Sub: Private Sub exportar_Excel(ByVal tabla As DataGridView, ByVal nrofilas As Long)

    Dim archivo_excel As Object Dim libro_excel As Object Dim hoja_excel As Object Dim i As Integer Dim j As Integer Dim iColumnas As Integer If nrofilas = 0 Then MsgBox("No hay datos para exportar a excel. Se ha indicado 0 en el parmetro Filas ") : Exit Sub Else archivo_excel = CreateObject("Excel.Application") libro_excel = archivo_excel.Workbooks.Open("c:\exportardatos.xls") hoja_excel = archivo_excel.ActiveSheet iColumnas = 0 For i = 0 To tabla.Columns.Count - 1 If tabla.ColumnHeadersVisible Then iColumnas = iColumnas + 1 hoja_excel.Cells(1, iColumnas) = tabla.Columns(i).HeaderText For j = 0 To nrofilas - 1 hoja_excel.Cells(j + 2, iColumnas) = tabla.Item(i, j).Value Next End If Next archivo_excel.Visible = True End If hoja_excel = Nothing libro_excel = Nothing archivo_excel = Nothing End sub

    Se crea el procedimiento exportar_Excel, el cual recibe como

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

  • 37

    El objeto tabla contendr los datos a exportar y nro_filas el nmero de filas del

    objeto tabla. Se definen los objetos archivo_excel, hoja_excel, libro_excel de

    tipo Object y se crean las variables i, j, icolumnas de tipo Integer. Utilizando la

    estructura if se pregunta si nro_filas es igual a cero (0), si es verdadero se

    imprimir el mensaje de la no existencia de datos en el archivo Excel y se saldr

    del procedimiento por intermedio de la palabra clave exit. En caso contrario se

    crea un objeto (CreateObject) que inicializa una aplicacin Excel y es asignado

    al objeto archivo_excel, al objeto libro_excel se le asigna la ruta y el nombre

    del archivo de Excel que se va a abrir utilizando el mtodo Open de

    WorkBooks, como tambin se asigna la hoja activa (ActiveSheet) del archivo

    de Excel a hoja_excel. Se inicializa la variable icolumnas en cero y ejecutan

    dos ciclos for. En el ciclo externo se recorre la cantidad de columnas existente

    en el objeto DataGridView (tabla.Columns.Count - 1). Si el nombre de la

    columna es visible se incrementa la variable icolumna en uno (1) y se asigna a

    la primera celda en la posicin del valor de la variable icolumna el nombre de la

    columna del objeto DataGridView utilizando el mtodo HeaderText, en el

    ciclo ms interno se recorre cada una de las filas del objeto DataGridView y se

    coloca en la celda (j, i) el valor que tiene el objeto tabla en la posicin (i, j). Por

    otro lado, se hace visible (se abre) el archivo de Excel. Por ltimo se liberan

    todos los objetos utilizando la palabra clave Nothing (liberar).

    Ejecutar el proyecto

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

    escribir el rango A1:D10 y pulsar el botn Importar de Excel, se visualizar la

    siguiente figura:

    Figura 1.26 Formulario con datos importados de Excel.

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

  • 38

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

    1.7 Exportar datos a Word

    Con Visual Basic .NET tambin es posible exportar los datos que existen en un control

    de Visual Basic .NET a un archivo de Word. Para esto es necesario agregar una

    referencia .NET llamada Microsoft.Office.Interop.Word en el proyecto que se est

    trabajando.

    1.7.1 Ejemplo de exportar datos de VB.NET a Word

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

    usuario exportar los datos de un control DataGridView de Visual Basic .NET a una

    tabla en un archivo de Microsoft Word.

    Agregar referencia

    Desde el submen proyecto seleccione la opcin Agregar referencia y busque el nombre del componente Microsoft.Office.Interop.Word, se debera visualizar la

    siguiente pantalla:

    Figura 1.28 Agregar referencia .NET.

  • 39

    Al estar seleccionado dicho componente, pulse el botn Aceptar para

    incorporarlo al proyecto.

    Crear la interfaz de usuario

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

    siguientes controles en el formulario en la posicin deseada: 1 Button y 1

    DataGridView.

    Figura 1.29 Interfaz de usuario (ExportarWord).

    Establecer las propiedades de los objetos de la interfaz de usuario

    Establezca las siguientes modificaciones a los controles:

    Tabla 1.8 Propiedades de controles proyecto ExportarWord.

    Control 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:

  • 40

    Figura 1.30 Interfaz de usuario modificada (ExportarWord).

    Escribir cdigo

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

    Dim archivo_Word As Microsoft.Office.Interop.Word.Application

    Dim Documento As Microsoft.Office.Interop.Word.Document Dim Parrafo As Microsoft.Office.Interop.Word.Table Dim filas As Integer Dim columnas As Integer Dim dato As Object archivo_Word = New Microsoft.Office.Interop.Word.Application archivo_Word.Visible = True Documento = archivo_Word.Documents.Add Parrafo = Documento.Tables.Add(Documento.Range(0, 0), tabla.RowCount + 1, tabla.Columns.Count) For columnas = 0 To tabla.Columns.Count - 1 arrafo.Cell(1, columnas + 1).Range.InsertAfter(tabla.Columns(columnas).HeaderText) For filas = 0 To tabla.RowCount - 1 dato = tabla.Item(columnas, filas).Value Parrafo.Cell(filas + 2, columnas + 1).Range.InsertAfter(dato) Next Next archivo_Word = Nothing Documento = Nothing Parrafo = Nothing

    Se definen los objetos archivo_Word de tipo Aplicacin de Word

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

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

    tambin se crean las variables filas y columnas de tipo Integer y dato de tipo

    Object. Se asigna espacio de memoria al objeto archivo_Word de tipo

    Word.Application, se hace visible un archivo de Word y se aade un nuevo

    documento de Word con Word.Documents.Add. Al objeto Parrafo se le asigna

    una tabla desde un rango (0,0, total_filas, total_columnas). Se ejecutan dos

    ciclos For. En el ciclo externo se recorre la cantidad de columnas existentes en

    el objeto DataGridView (tabla.Columns.Count - 1) y se asigna a la primera

    fila en la posicin del valor de la variable columnas+1 el nombre de la columna

    del objeto DataGridView utilizando el mtodo HeaderText; en el ciclo ms

  • 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 cdigo:

    With tabla

    .Columns.Add("Cdigo", "Cdigo") .Columns.Add("Producto", "Producto") .Columns.Add("Precio", "Precio") .Columns.Add("Inventario", "Inventario actual") .Columns.Add("Proveedor", "Nombre Proveedor") .RowCount = 10 For i As Integer = 0 To .RowCount - 1 .Item(0, i).Value = i.ToString .Item(1, i).Value = "Producto " & i.ToString .Item(2, i).Value = FormatNumber(225 + i) .Item(3, i).Value = CInt(Rnd() * 100) .Item(4, i).Value = "Proveedor: " & i.ToString Next End With

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

    cinco nombres, uno en cada columna con el mtodo Add de la propiedad

    Columns y se asignan como valor inicial a la propiedad RowCount 10 filas.

    Con un ciclo For que se ejecutar desde una posicin i igual a cero (0) hasta el

    nmero de filas -1 del objeto tabla y por cada fila se adicionarn cinco tems. En

    la primera columna el valor de i, en la segunda un texto Producto unido con el valor de la variable i, en la tercera el valor 225 sumndole el valor de i, en la

    cuarta un nmero aleatorio entre 0 y 100 y por ltimo un texto Proveedor unido al valor de i.

    Ejecutar el proyecto

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

    visualizar el formulario con los datos que se asignaron en el procedimiento

    formulario_Load, se visualizar la siguiente figura:

    Figura 1.31 Formulario con datos cargados desde el load.

  • 42

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

    se visualizara lo siguiente:

    Figura 1.32 Ventana de Word con los datos exportados de VB.NET.

    En este momento puede seleccionar todos los datos y pulsar el icono bordes de

    Word y escoger la opcin Todos los bordes para que el documento presente el siguiente aspecto:

    Figura 1.33 Tabla de Word con datos y bordes.

  • 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. Disear un programa que permita guardar 10 datos y leerlos en un archivo de texto plano utilizando archivos secuenciales.

    4. Escribir un programa que permita guardar 10 datos y leerlos en un archivo de texto plano utilizando archivos binarios.

    5. Crear un programa que permita importar todos los datos que existan en un archivo de Excel y visualizarlos en un ListView.

    6. Elaborar un programa que permita importar todos los datos que existan en un archivo de Excel y visualizarlos en un ListBox.

    7. Realizar un programa que permita exportar un rango de datos a una tabla de Word.

    8. Hacer un programa que permita importar los datos de un archivo de texto a un DataGridView.

    9. Crear un programa que permita exportar los datos de un control ListView a Excel.

    10. Escribir un programa que permita exportar los datos de un ListView a Word.

  • 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 gestin de bases de datos). Cada base de datos se compone de una o ms tablas que guardan los datos. Cada tabla

    tiene una o ms columnas y filas. Las columnas guardan una parte de la informacin

    sobre cada elemento que se quiere guardar en la tabla, cada fila de la tabla conforma un

    registro. Un registro contiene campos que pueden ser del mismo tipo de dato o de

    diferentes tipos de datos. Entre las principales caractersticas de las bases de datos se

    pueden mencionar:

    Independencia lgica y fsica de los datos.

    Redundancia mnima.

    Acceso concurrente por parte de mltiples usuarios.

    Integridad de los datos.

    Consultas complejas optimizadas.

    Seguridad de acceso y auditora.

    Respaldo y recuperacin.

    Acceso a travs de lenguajes de programacin estndar.

    2.1 Tipos de bases de datos

    Los tipos de bases datos ms comunes son las relacionales y en el mercado existen

    varios sistemas de administracin de bases de datos de ese tipo, algunos son: SQL

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

    2.1.1 Relacionales

    Son las que ms se utilizan. Las bases de datos relacionales son un conjunto de tablas

    relacionadas entre s, cada tabla est definida por una serie de campos. Los campos

    forman las columnas de las tablas; estos definen el tipo y la variedad de los datos. Las

    filas de datos se denominan registros (tuplas), cada tipo definido en un registro se le

    denomina atributo. Las tablas pertenecientes a una base de datos pueden relacionarse

    entre s utilizando campos clave comunes entre las tablas.

    2.1.2 Orientada a objetos

    El esquema de una base de datos por objetos est representado por un conjunto de clases

    que definen las caractersticas y el comportamiento de los objetos que poblarn la base

    de datos. Con una base de datos orientada a objetos, los objetos memorizados en la base

    de datos contienen tanto los datos como las operaciones posibles con tales datos. En

    cierto sentido, se podr pensar en los objetos como en datos a los que se les ha puesto

    una inyeccin de inteligencia que les permite saber cmo comportarse, sin tener que

    apoyarse en aplicaciones externas.

    2.2 Lenguaje de Consulta Estructurado (S.Q.L.)

    Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de

    bases de datos para realizar determinadas operaciones sobre los datos o sobre la

  • 45

    estructura de los mismos. El lenguaje SQL est compuesto por comandos, clusulas,

    operadores y funciones de agregado. Estos elementos se combinan en las instrucciones

    para crear, actualizar y manipular las bases de datos.

    2.2.1 Comandos

    Existen dos tipos de comandos SQL:

    DLL que permiten crear y definir nuevas bases de datos, tablas, campos e ndices.

    DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

    Tabla 2.1 Comandos DLL y DML de SQL.

    Comandos DLL

    Comando Descripcin

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

    DROP Empleado para eliminar bases de datos, tablas e ndices.

    ALTER Utilizado para modificar las tablas agregando campos o cambiando la definicin de los campos.

    Comandos DML

    SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado.

    INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin.

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

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

    2.2.2 Clusulas

    Las clusulas son condiciones de modificacin utilizadas para definir los datos que se

    desea seleccionar o manipular.

    Tabla 2.2 Clusulas SQL.

    Clusula Descripcin

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

    WHERE Para especficar las condiciones que deben reunir los registros a seleccionar.

    GROUP BY Utilizada para separar los registros seleccionados en grupos especficos.

    HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo.

    ORDER BY Para ordenar los registros seleccionados.

  • 46

    2.2.3 Operadores lgicos

    Los operadores lgicos comprueban la veracidad de alguna condicin. stos devuelven

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

    Tabla 2.3 Operadores lgicos SQL.

    Operador Uso

    AND Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas.

    OR Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

    NOT Negacin lgica. Devuelve el valor contrario de la expresin.

    BETWEEN Utilizado para especficar un intervalo de valores.

    LIKE Utilizado en la comparacin de un patrn.

    IN Utilizado para especficar registros de una base de datos.

    ALL Devuelve True si el conjunto de comparaciones en verdad.

    2.2.4 Operadores de Comparacin

    Los operadores de comparacin comprueban si dos expresiones son iguales,

    devolviendo un valor booleano True o False. Se pueden utilizar en todas las

    expresiones excepto en las de los tipos de datos text, ntext o image.

    Tabla 2.4 Operadores de comparacin SQL.

    Operador Uso

    < Menor que

    > Mayor que

    Distinto de

    = Mayor o igual que

    = Igual que

    2.2.5 Funciones de agregado

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

    un solo valor. Si exceptuamos la funcin COUNT, todas las funciones de agregado

    ignoran los valores NULL. Las funciones de agregado se suelen utilizar con la clusula

    GROUP BY de la instruccin SELECT.

  • 47

    Tabla 2.5 Funciones de agregado SQL.

    Funcin Descripcin

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

    COUNT Utilizada para devolver el nmero de registros de la seleccin.

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

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

    MIN Utilizada para devolver el valor ms bajo de un campo especficado.

    2.3 Sentencias Bsicas SQL

    Se describir muy brevemente algunas de las sentencias SQL para la manipulacin de

    los