Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual VB Net Avanzado
Manual VB Net Avanzado
COMPUTREIN
Visual Basic .NET - Avanzado
- 2 -
NOTA: La informacin contenida en este
material, tiene un fin exclusivamente
didctico, y por lo tanto, no est previsto su
aprovechamiento a nivel profesional o
industrial. Organizacin Leonardo Da Vinci
no ser jurdicamente responsable por:
errores u omisiones; daos y perjuicios que
se pudieran atribuir al uso de la informacin
comprendida en este libro, ni por la
utilizacin indebida que pueda drsele.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Prefacio
MS Visual Basic .NET - Avanzado, es un manual que te ayudar a
utilizar las operaciones y transacciones del lenguaje de programacin
ms usado actualmente. Al hacerlo aprenders tambin a desarrollar la
capacidad de diseo e implementacin de programas, a generar
soluciones mediante mtodos ordenados, y a trabajar en equipo; tres
cosas que te sern muy tiles durante toda tu vida.
Los procedimientos empleados en este manual para el diseo e
implementacin de Programas, te permitirn realizar con gran facilidad y
con calidad excepcional, aquellas tareas que involucren mantenimientos y
actualizaciones de programas.
Al trabajar con estas tareas, tu funcin ser el de programador de
computadoras; es decir, ser quien plantee y desarrolle las soluciones
para alcanzar los objetivos propuestos, creando soluciones fciles de
implementar. Tu asesor ser el usuario que plantear el problema que
debes resolver.
MS Visual Basic .NET - Avanzado, presenta los casos, procedimientos,
tips, actividades, cuestionarios y trminos tcnicos computacionales
adecuados y claros para ti, para que aprendas de manera sencilla.
El Director
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 4 -
Los nombres comerciales que aparecen
en este libro son maracas registradas de
sus propietarios y se mencionan
nicamente con fines didcticos, por lo
que Organizacin Leonardo Da Vinci no
asume ninguna responsabilidad por el uso
que se d a esta informacin, ya que no
infringe ningn derecho de registro de
marca.
Colabor con la recopilacin de esta informacin:
Ing. Nathaly Vernica Prado Ramrez.
NDICEDECONTENIDOS
PROGRAMACINORIENTADAAOBJETOS.............................................................................8
POOENMICROSOFTVISUALBASIC.NET............................................................................9
CONCEPTOSDEPOO..........................................................................................................9
DEFINICINDEOBJETOS..................................................................................................10
DEFINICINDECLASES....................................................................................................10
CREARUNACLASE............................................................................................................12
CREACINDECAMPOSPARALACLASE...........................................................................13
MTODOS.........................................................................................................................14
INSTANCIARUNACLASE..................................................................................................14
PROPIEDADES...................................................................................................................17
ENCAPSULACINATRAVSDEPROPIEDADES................................................................19
PROPIEDADESDESLOLECTURAOSLOESCRITURA....................................................20
TRABAJANDOCONEVENTOSENWINDOWSFORM..............................................................23
EVENTOSENWINDOWSFORM.......................................................................................24
QUESUNEVENTO?......................................................................................................24
PROGRAMACINBASADAENEVENTOS..........................................................................25
ESQUEMABSICODEUNSISTEMAORIENTADOAEVENTOS.........................................26
ELEMISORDEEVENTOS...................................................................................................26
ELRECEPTORDEEVENTOS...............................................................................................27
CONEXINCONUNMANIPULADORDEEVENTOS..........................................................27
ENLACEESTTICODEEVENTOS.......................................................................................28
CAJASDEDILOGOENAPLICACIONESWINDOWS..........................................................30
VALIDARENTRADASDEUSUARIO....................................................................................31
INTRODUCCINAADO.NET................................................................................................32
ACCESSDATAOBJECTENVISUALBASIC.NET...................................................................33
TERMINOLOGADEBASEDEDATOS................................................................................33
CONCEPTO.......................................................................................................................35
ARQUITECTURADEADO.NET..........................................................................................36
ENTORNOCONECTADOODESCONECTADO....................................................................36
DATASET...........................................................................................................................36
COMPONENTESDEADO.NET...........................................................................................37
OBJETOSCOMUNESDEADO.NET....................................................................................38
ESPACIOSDENOMBRESYCLASESENADO.NET.............................................................38
OBJETOSADO.NET..........................................................................................................39
PROVEEDORESDEDATOSDE.NET..................................................................................40
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 6 -
CONEXINCONFUENTESDEDATOS....................................................................................41
CONEXINCONFUENTESDEDATOS...............................................................................42
CREACINDECONEXIONES.............................................................................................42
LASCLASESCOMMAND...................................................................................................46
MTODOSDELASCLASESCOMMAND............................................................................47
APLICACIONESDELASCLASESCOMMAND.....................................................................48
INSERTARDATOSUSANDOSQLCOMMAND....................................................................49
RECUPERARDATOSUSANDODATAREADERS..................................................................51
ENLACEADATOSENWINDOWSFORMI..............................................................................59
OBJETOSDEENLACEDEDATOS......................................................................................60
OBJETODATAADAPTER....................................................................................................60
OBJETODATASET.............................................................................................................61
USODEDATASETFRENTEADATAREADER......................................................................69
EXPLORADORDESERVIDORES........................................................................................70
ENLACEADATOSENWINDOWSFORMII.............................................................................75
TABLASDEBSQUEDAS.................................................................................................76
CONTROLDATAGRIDVIEW...............................................................................................76
ACTUALIZARDATOSCONDATAADAPTERYDATASET.....................................................78
ADMINISTRARDATOSENUNATABLA.............................................................................82
DATARELATION................................................................................................................87
LACLASEDATAVIEW........................................................................................................88
DESARROLLANDOCOMPONENTESYCONTROLESDEUSUARIO............................................90
HERENCIAENTREFORMULARIOS....................................................................................91
HERENCIAVISUAL............................................................................................................91
AGREGARUNPROYECTOCONUNFORMULARIODERIVADO.........................................95
CRYSTALREPORTSI............................................................................................................103
INFORMES.....................................................................................................................104
CREARCONEXINCONLABASEDEDATOS...................................................................104
CREARUNINFORME......................................................................................................109
ACCEDERALABASEDEDATOS......................................................................................111
CRYSTALREPORTSII...........................................................................................................116
MOSTRARINFORMES....................................................................................................117
VISUALIZADORDELINFORME........................................................................................117
CREARUNINFORMEDESDEADONET...........................................................................119
VISUALIZARELINFORME...............................................................................................119
PROYECTOSDEINSTALACIN.............................................................................................120
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
INSTALARAPLICACIONES...............................................................................................121
PROYECTODEINSTALACIN..........................................................................................121
INSTALARAPLICACIONES...............................................................................................126
PROYECTOFINAL................................................................................................................130
DESARROLLOPROYECTOFINAL......................................................................................131
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 8 -
Sesin 1
PROGRAMACI N
ORI ENTADA A
OBJ ETOS
Actitudinales:
Reconocela importancia del laprogramacinorientada aobjetos eimplementacin
declases.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Y escribimos el nombre:
El resultado sera:
Tras agregar una nueva clase a nuestro proyecto, podemos agregar
miembros de datos a la clase. Un miembro de datos especfico para una
instancia de la clase se denomina miembro de datos de una instancia.
Cuando agregamos miembros de datos de una instancia a una clase,
especificamos el nivel de acceso estableciendo los modificadores de acceso.
Los miembros de datos de una instancia incluyen variables y constantes
miembro. Las variables miembro tambin se denominan campos.
CREACIN DE CAMPOS PARA LA CLASE
Un campo de una clase no es otra cosa que una variable, generalmente con
mbito pblico, accesible desde el exterior de la clase. El Cdigo fuente 205
muestra la creacin de un campo para la clase Empleado.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 14 -
Aplicacin 01:
En el siguiente ejemplo, se agrega a la clase un miembro de datos de tipo
Double denominado saldo:
MTODOS
Podemos agregar mtodos a una clase. Cuando agregamos mtodos,
especificamos el nivel de acceso estableciendo el modificador de acceso. Los
mtodos incluyen funciones y procedimientos Sub.
En el siguiente ejemplo, se agrega a la clase un mtodo denominado
Deposito:
En este ejemplo, el mtodo Deposito es pblico, por tanto los usuarios de
esta clase pueden depositar dinero en una cuenta utilizando el mtodo
Deposito.
INSTANCIAR UNA CLASE
Para ejecutar los mtodos y utilizar las propiedades de una clase, debemos
crear una instancia de la clase. La instancia de una clase se denomina
objeto.
Para crear una instancia de una clase, en la Ventana de Cdigo del
Formulario, declaramos una variable del tipo de la clase y utilizamos la
palabra clave New, como se muestra en la siguiente lnea de cdigo:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Una vez declarado el objeto, podemos utilizar el mtodo respectivo:
Al hacer clic en Depositar se debe agregar al saldo de la cuenta el monto
ingresado.
Referencia al Mtodo Deposito:
Asignar el monto para Deposito:
Aplicacin 02:
Para explicar la creacin de clases usaremos un ejemplo sencillo basado en
una clase principal "bicicleta".
Para crear una clase debemos definir sus propiedades y sus mtodos, en
este ejemplo se usan los siguientes trminos como propiedades de la clase
bicicleta: Modelo, Precio, NumeroVelocidades y Velocidad:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 16 -
Como mtodos de la clase se usan: Acelerar(km), Frenar() y
ConsultarVelocidad().
Nuestra clase bicicleta consta de varias propiedades y mtodos, las palabras
Private y Public definen la accesibilidad de las propiedades, funciones o
subrutinas. La definicin de una propiedad o mtodo de tipo privado indica
que slo podr ser usada dentro del cdigo de la misma clase, si cresemos
un objeto de tipo bicicleta, las especificaciones de la clase no nos
permitiran acceder a la propiedad velocidad para consultarla o modificarla,
ya que est definida como privada. En cambio se pueden usar las
subrutinas Acelerar() y Frenar() ya que son de tipo Public, y desde dentro
de ellas se interacta con las propiedades privadas, con esto conseguimos
encapsular el cdigo y hacer accesible solo aquello que queramos.
Una vez est construida la clase ya se pueden instanciar objetos de la
misma.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Cdigo completo:
Tras la creacin del objeto objBicicleta a partir de la clase, se pueden
modificar los valores de las propiedades de tipo Public, y llamar a los
mtodos de tipo Public.
En el ejemplo se llama a los mtodos Acelerar(), pasndole el numero de
km que queremos acelerar a travs del parmetro "km" que est definido
en la subrutina.
Luego se llama al mtodo Frenar() que decrementa en una unidad el valor
de la propiedad Velocidad.
Por ltimo se usa la funcin ConsultarVelocidad(), que retorna el valor de la
propiedad Velocidad para introducirlo en la variable VelocidadActual.
PROPIEDADES
Una propiedad en la clase se define, por norma general, mediante dos
elementos: una variable de propiedad y un procedimiento de propiedad.
La variable de propiedad, tal y como su nombre indica, es una variable con
mbito privado a nivel de la clase, que se encarga de guardar el valor de la
propiedad. Por su parte el procedimiento de propiedad o Property, es el
encargado de actuar de puente entre el cdigo cliente y la variable de
propiedad, realizando las operaciones de acceso y asignacin de valores a
dicha variable. Por lo tanto, para crear una propiedad en nuestra clase,
declararemos en primer lugar una variable Private, y en segundo lugar un
procedimiento de tipo Property, que consta de dos bloques: Get, para
devolver el valor de la variable de propiedad; y Set, para asignrselo.
Aplicacin 03:
Se debe declarar una variable de propiedad para la propiedad Categora:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 18 -
Se debe declarar el procedimiento Property para la propiedad Categora
Cuando declaramos un procedimiento Property, debemos, al igual que en
una funcin, tipificarlo, ya que una de sus labores consiste en la devolucin
de un valor.
Para devolver el valor, en el bloque Get podemos utilizar la palabra clave
Return, seguida del valor de retorno, o bien la sintaxis clsica de asignar el
valor al nombre de la funcin. Nuestra recomendacin es el uso de Return
por las ventajas explicadas en el tema del lenguaje.
En cuanto a la asignacin de valor, el bloque Set utiliza un parmetro con el
nombre Value, que contiene el valor para asignar a la propiedad.
Al declarar un procedimiento de este tipo, el IDE de VS.NET crea
automticamente los correspondientes bloques Get y Set, ahorrando ese
trabajo al programador.
A la hora de manipular una propiedad desde el cdigo cliente, la diferencia
no ser notoria, como muestra el Cdigo siguiente. La nica forma de hacer
ms patente el uso del procedimiento Property, consiste en ejecutar el
programa utilizando el depurador; de esta manera comprobaremos como el
flujo de la ejecucin salta a los bloques Get y Set al manejar la variable del
objeto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Dado que los procedimientos Property no son otra cosa que rutinas de
cdigo, tambin se les denomina mtodos de acceso y asignacin en el
ambiente de POO.
ENCAPSULACIN A TRAVS DE PROPIEDADES
Una de las caractersticas de la OOP, la encapsulacin, establece que el
cdigo de una clase debe permanecer, siempre que sea posible, protegido
de modificaciones no controladas del exterior (cdigo cliente). Nuestra clase
debe actuar como una especie de caja negra, que expone un interfaz para
su uso, pero que no debe permitir el acceso a la implementacin de dicho
interfaz.
Supongamos que en nuestra clase Empleado en la Aplicacin 03,
necesitamos crear un elemento para guardar el sueldo pagado, pero el
importe del sueldo deber estar entre un rango de valores en funcin de la
categora del empleado. Si la categora es 1, el sueldo estar entre 1 y 200,
mientras que si la categora es 2, el sueldo podr llegar hasta 300.
Si usamos la clase Empleado tal como hemos estudiado hasta ahora, no
estar validado el sueldo segn la categora.
Para resolver el problema mediante el uso de propiedades, contamos con la
ventaja de escribir cdigo de validacin en los correspondientes
procedimientos Property; con ello encapsulamos el cdigo de la clase,
mantenindolo a salvo de asignaciones incoherentes.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 20 -
PROPIEDADES DE SLO LECTURA O SLO ESCRITURA
Se nos plantea ahora un nuevo caso para nuestra clase Empleado: debemos
guardar el valor del cdigo de cuenta bancaria del empleado en el objeto,
pero sin permitir que dicha informacin sea accesible desde el cdigo
cliente.
Igualmente y en funcin de los primeros dgitos de la cuenta bancaria,
necesitamos mostrar el nombre de la entidad, pero sin permitir al cdigo
cliente su modificacin, ya que esta va a ser siempre una operacin que
debe calcular el cdigo de la clase.
Utilizando campos de clase no es posible resolver esta situacin, ya que al
ser de mbito pblico, permiten tanto la escritura como lectura de sus
valores.
Pero si empleamos propiedades, estas nos permiten la creacin de las
denominadas propiedades de slo lectura o slo escritura, en las que
utilizando las palabras clave ReadOnly y WriteOnly, conseguimos que a una
determinada propiedad, slo podamos asignarle o recuperar su valor.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Sesin 2
TRABAJ ANDO
CON EVENTOS EN
WI NDOWS FORM
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 24 -
EVENTOS EN WINDOWS FORM
QU ES UN EVENTO?
Un evento es un suceso o situacin, que acontece en una ubicacin de
espacio y tiempo no predecible.
Cuando una mquina deja de funcionar por una avera, o cuando una
persona resbala y cae, estamos en ambos casos, ante ejemplos de eventos,
ya que ocurren en momentos inesperados.
Para que se desencadene un evento, se deben dar determinadas
circunstancias, las cuales favorecen el que dicho evento se produzca.
Cindonos al mbito de la programacin, un evento es, dentro de una
aplicacin, una notificacin lanzada por un objeto, que podr ser respondida
por aquellos otros objetos interesados en darle soporte.
Antes de la llegada de los sistemas y lenguajes orientados a eventos, las
aplicaciones ejecutaban su cdigo en un orden fijo, ya que estaban basadas
en un modelo construido exclusivamente a base de procedimientos: se
realizaban llamadas a las rutinas de cdigo en un orden predeterminado, y
una vez terminada la ejecucin de tales rutinas, finalizaba la aplicacin.
Veamos el siguiente ejemplo:
Aplicacin 04:
Supongamos que nos encargan desarrollar una clase llamada Empleado,
entre cuyos miembros tenemos la propiedad Sueldo.
Uno de los requerimientos respecto a esta propiedad es que su valor no
debe ser superior a 1000; por ello, en su procedimiento Property,
realizamos una validacin a tal efecto, emitiendo un mensaje cuando el
sueldo que asignemos sea superior.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Una vez finalizado el desarrollo de la clase, la distribuimos a nuestro cliente.
Posteriormente, un nuevo cliente nos requiere la clase, pero en esta
ocasin, aunque necesita la validacin sobre la propiedad
Sueldo, no quiere que se muestre el mensaje al sobrepasar el sueldo
asignado.
Se nos plantea en este caso un problema, ya que si escribimos una nueva
versin de la clase Empleado, tendremos el trabajo extra de mantener
ambas. Para solucionarlo mediante una nica versin de la clase
recurriremos a los eventos.
PROGRAMACIN BASADA EN EVENTOS
La aparicin de Windows trajo consigo un nuevo esquema en el desarrollo
de aplicaciones. En un programa que se ejecute dentro de un sistema
basado en eventos como pueda ser Windows, se estn produciendo
constantemente eventos (sucesos), provocados por las acciones del usuario
o por el propio sistema. Tan elevado es el nmero de eventos que se
producen, que dar respuesta a todos, es decir, codificar todas aquellas
situaciones que acontecen a lo largo de la ejecucin de un programa, es
algo impensable.
Por tal motivo, la tcnica seguida al escribir cdigo orientado a eventos, se
basa en codificar slo los eventos que nos interese tratar, ya que para el
resto, ser el propio sistema quien proporcione el comportamiento por
defecto.
En una aplicacin Windows tpica, todos los elementos que forman parte de
la misma, es decir, el propio formulario y los controles contenidos en l,
lanzan eventos en respuesta a las acciones del usuario. El ejemplo ms
habitual: al pulsar un botn, se produce su evento clic; si queremos que el
programa realice alguna accin al pulsar dicho botn, deberemos escribir
cdigo en el procedimiento de evento asociado, para dar respuesta a tal
suceso.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 26 -
ESQUEMA BSICO DE UN SISTEMA ORIENTADO A EVENTOS
Un sistema conducido por eventos basa su funcionamiento en dos pilares
fundamentales: un emisor y un receptor de eventos.
El primero genera y lanza el evento al sistema, mientras que el segundo, si
est interesado en tratar el evento lanzado, lo captura y le da respuesta. Si
un objeto receptor no necesita gestionar eventos, simplemente no lo
obtiene.
EL EMISOR DE EVENTOS
Un emisor de eventos, tambin denominado origen de eventos (event
source o event sender), es un objeto capacitado para generar y lanzar
eventos al sistema, que puedan ser recuperados por otros objetos
preparados para realizar su tratamiento.
Para que un objeto pueda desencadenar eventos, en su clase debemos
realizar dos tareas:
Declarar el propio evento usando la palabra clave Event, especificando si
es necesario una lista de parmetros que acompaan al evento.
Lanzar el evento mediante la palabra clave RaiseEvent, seguida del
nombre del evento a disparar. Si hemos declarado el evento con
parmetros, deberemos aadir los valores para cada uno de los
parmetros en el mismo orden en el que los hemos declarado.
Situndonos pues ante el problema planteado por la clase Empleado en un
apartado anterior, la solucin que proponemos consistir en generar desde
la clase Empleado un evento cuando se produzca un fallo en la validacin
del sueldo. De esta manera, el cdigo cliente que lo necesite, responder al
evento; y el que no lo precise, har caso omiso del evento lanzado.
En primer lugar, declaramos en la zona de declaraciones de la clase el
evento LimiteSueldo, que ir acompaado de un parmetro que nos
informar del importe errneo que se intentaba asignar a la propiedad.
A continuacin, en la propiedad Sueldo, cuando detectemos que el sueldo
sobrepasa el valor permitido, en lugar de mostrar el mensaje de Error,
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
NOTA:
Para facilitar la creacin de los procedimientos manipuladores de evento,
consiste en abrir la lista Nombre de clase y seleccionar el nombre de la
variable que hemos declarado WithEvents:
Luego pasamos a la lista Nombre de mtodo, y all elegimos el nombre del
evento que vamos a programar:
Esto nos crea el procedimiento manipulador de evento vaco, en base a una
convencin de nombres predefinida en el IDE.
Como hemos escrito el manipulador de evento para el objeto Empleado en
un mdulo, vamos ahora a probar la aplicacin, instanciando en el mismo,
un objeto de esta clase.
Asignaremos en primer lugar, un valor correcto a la propiedad Sueldo, y a
continuacin un valor que provocar el evento en la clase. Se Recomienda
ejecutar el cdigo lnea a lnea con el depurador, para observar el efecto
cuando se produzca el evento.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 30 -
CAJAS DE DILOGO EN APLICACIONES WINDOWS
Aplicacin 05:
MsgBox
Muestra un mensaje al usuario, acompaado del Botn Aceptar.
InputBox
Solicita ingreso de datos al usuario.
MessageBox
Muestra un mensaje al usuario, y espera la respuesta del usuario para
poder ejecutar alguna accin.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
base de datos. Muy importante es recalcar, que los DataSets son almacenes
pasivos de datos, esto es, no se ven alterados ante cambios subyacentes de
la base de datos. Es necesario recargarlos siempre que queramos estar al
da, en cuanto a datos se refiere.
Los DataSets son un concepto realmente revolucionario y si precedentes.
Son, bsicamente, representaciones en memoria de algo ms que una
simple tabla, es posible verlo como una porcin de base de datos en la
memoria de la PC del cliente, el cual puede contener tablas, relaciones e
incluso hasta constraints (primary keys, foreign keys, uniques). La idea
detrs de esto es que la aplicacin cuente con todos los datos necesarios
para poder trabajar, y por ninguna razn requiera conectarse a la base de
datos, salvo para cargar o actualizar los cambios generaron en el DataSets
La Figura siguiente muestra una representacin de este tipo de objeto.
COMPONENTES DE ADO.NET
Los componentes de ADO.NET han sido diseados para separar el acceso a
datos de la manipulacin de los datos. Existen dos componentes principales
de ADO.NET que lo cumplen: el componente DataSet y los Proveedores de
datos .NET. Los proveedores de datos .NET constan de un conjunto de
componentes que incluyen los objetos Connection, Command, DataReader y
DataAdapter. Los componentes del proveedor de datos .NET estn
diseados explcitamente para la manipulacin de datos desconectados.
ADO.NET y Windows Forms proporcionan componentes para el consumidor
de datos que podemos utilizar para mostrar nuestros datos. Incluyen
controles como DataGrid, que pueden ser enlazados a datos, y propiedades
de enlace a datos en la mayora de controles estndares de Windows, como
los controles TextBox, Label, ComboBox y ListBox.
El .NET Framework incluye numerosos proveedores de datos .NET,
incluyendo el proveedor de datos de .NET para SQL Server, el proveedor de
datos de .NET OLE DB para SQL, y el proveedor OLE DB para Microsoft Jet.
Si necesitamos un proveedor personalizado, podemos escribir proveedores
de datos .NET para cualquier fuente de datos.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 38 -
OBJETOS COMUNES DE ADO.NET
Los proveedores de datos de .NET y el espacio de nombres System.Data
proporcionan los objetos ADO.NET que utilizaremos en un escenario
desconectado.
ESPACIOS DE NOMBRES Y CLASES EN ADO .NET
Los distintos espacios de nombres que constituyen la tecnologa ADO .NET:
System.Data: Clases genricas de datos de ADO .NET. Integra la gran
mayora de clases que habilitan el acceso a los datos de la arquitectura
.NET.
System.Data.SqlClient: Clases del proveedor de datos de SQL Server.
Permite el acceso a proveedores SQL Server en su versin 7.0 y
superior.
System.Data.OleDb: Clases del proveedor de datos de OleDB. Permite
el acceso a proveedores .NET que trabajan directamente contra
controladores basados en los ActiveX de Microsoft.
System.Data.SqlTypes: Definicin de los tipos de datos de SQL Server.
Proporciona la encapsulacin en clases de todos los tipos de datos
nativos de SQL Server y sus funciones de manejo de errores, ajuste y
conversin de tipos, etc.
System.Data.Common: Clases base, reutilizables de ADO .NET.
Proporciona la coleccin de clases necesarias para acceder a una fuente
de datos (como por ejemplo una Base de Datos).
System.Data.Internal: Integra el conjunto de clases internas de las
que se componen los proveedores de datos.
Dentro del espacio de nombres System.Data encontramos las siguientes
clases compartidas, que constituyen el eje central de ADO .NET.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Sesin 4
CONEXI N CON
FUENTES DE
DATOS
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 42 -
CONEXIN CON FUENTES DE DATOS
CREACIN DE CONEXIONES
Antes de trabajar con datos, es necesario establecer primero una conexin
con una fuente de datos. Para conectar con una fuente de datos, escogemos
el tipo de conexin, especificamos la fuente de datos, y abrimos la conexin
a la fuente de datos. Cuando acabamos de trabajar con los datos,
cerraremos la conexin.
Escoger el tipo de conexin:
Podemos utilizar el objeto Connection para conectar a una fuente de
datos especfica. Podemos utilizar SqlConnection para conectar a bases
de datos SQL Server u OleDbConnection para conectar a otros tipos de
fuentes de datos.
Especificar la fuente de datos:
Despus de escoger el tipo de conexin, utilizamos una propiedad
ConnectionString para especificar el proveedor de datos, la fuente de
datos, y dems informacin utilizada para establecer la conexin. El
formato de estas cadenas difiere ligeramente entre el espacio de
nombres SqlClient y el espacio de nombres OleDb.
Abrir y cerrar la conexin de datos:
El objeto Connection soporta un mtodo Open que abre la conexin
despus de que se hayan establecido las propiedades de la conexin, y
un mtodo Close que cierra la conexin a la base de datos despus de
que todas las transacciones se hayan liberado.
Probar Conexin
El siguiente ejemplo muestra cmo utilizar un objeto Connection, la
propiedad ConnectionString y el mtodo Open para conectarnos a una
base de datos SQL Server utilizando el Data Provider .NET de SQL
Server.
NOTA: Para efectos del ejemplo, crearemos en SQL una Base de Datos
llamada Negocio.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Aplicacin 07:
En Vb .NET, disearemos el siguiente formulario:
Agregar un Mdulo llamado ModDeclaraciones para las variables y
procedimientos necesarios.
La Cadena de Conexin depende del modo de autenticacin del SQL.
Si el SQL est con autenticacin SQL Server, la Cadena est formada por:
Data Source: Servidor de Base de Datos del SQL.
Initial Catalog: Nombre de la Base de Datos en SQL (Negocio).
User Id: Inicio de Sesin que se usar en SQL.
Password: Clave del Inicio de Sesin.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 44 -
Aplicacin 07.1
Usando Base de Datos Access:
Declarar las Variables:
Declarar la cadena de Conexin:
Navegacin entre registros:
Primer Registro:
Registro Anterior:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Registro Siguiente:
ltimo Registro:
Nuevo Registro:
Guardar Registro:
Cancelar ingreso de datos:
Eliminar registro
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 46 -
LAS CLASES COMMAND
Establecida una conexin con un almacn de datos, la siguiente operacin
lgica consiste en enviarle sentencias para realizar los distintos tipos de
operaciones que habitualmente realizamos con los datos. Para realizar las
operaciones con datos utilizaremos Las clases Command de ADO .NET.
SqlCommand y OleDbCommand, son muy similares al objeto Command
existente en ADO. El objeto Command nos va a permitir ejecutar una
sentencia SQL o un procedimiento almacenado sobre la Base de Datos a la
que estamos accediendo, para nuestro caso: Negocio.
A travs de un objeto Command tambin podremos obtener un conjunto de
resultados del almacn de datos. En este caso, los resultados se pasarn a
otros objetos de ADO .NET, como DataReader o DataAdapter; estos dos
objetos los comentaremos ms adelante.
Un objeto Command se crea a crear a partir de una conexin existente, y
contiene una sentencia SQL a ejecutarse sobre las tablas de la conexion.
Entre las propiedades que ofrecen los objetos SqlCommand y
OleDbCommand, tenemos:
CommandText: Contiene una cadena de texto que va a indicar la
sentencia SQL o procedimiento almacenado que se va a ejecutar sobre
el origen de los datos.
CommandTimeout: Tiempo de espera en segundos que se va a aplicar
a la ejecucin de un objeto Command. Su valor por defecto es de 30
segundos.
CommandType: Indica el tipo de comando que se va a ejecutar contra
el almacn de datos, es decir, indica cmo se debe interpretar el valor
de la propiedad CommadText.
Puede tener los siguientes valores:
- StoredProcedure: para indicar que se trata de un procedimiento
almacenado.
- TableDirect: se trata de obtener una tabla por su nombre
(nicamente aplicable al objeto OleDbCommand).
- Text: que indica que es una sentencia SQL. EL valor por defecto es
Text.
Connection: Devuelve el objeto SqlConnection u OleDbConnection
utilizado para ejecutar el objeto Command correspondiente.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Para mostrar todos los registros de una tabla, se usa el siguiente cdigo.
Aplicacin 10:
Usando la base de datos de la aplicacin anterior, mostrar de los datos de
todos los clientes en un ListView.
En el Mdulo ModDeclaraciones, declarar el ListViewItem.
Al hacer clic en Mostrar Clientes:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 54 -
Aplicacin 11:
Usando la base de datos de la aplicacin anterior, mostrar de los datos de
un cliente, modificarlos y volver a grabarlos.
Debemos crear en el Mdulo ModDeclaraciones, los procedimientos para
Borrar, Activar y Desactivar las Cajas de texto.
Las cajas de texto se muestran desactivadas, excepto el Cdigo.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Aplicacin 12:
Usando la base de datos de la aplicacin anterior, mostrar de los datos de
un cliente, eliminarlo de la Tabla.
Primero se tiene que buscar el cliente de quien se desean modificar sus
datos.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 58 -
Una vez encontrado el cliente, sus datos sern eliminados de la tabla.
Los datos del cliente sern eliminados de la tabla.
Prctica Clase:
Programar la bsqueda y eliminacin de Datos para las Tablas Vendedor y
Producto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Sesin 5
ENLACE A DATOS
EN WI NDOWS
FORM I
Actitudinales:
Reconocelaspropiedadesdeloscontrolesdeenlaceadatosyvaloralaimportancia
desuuso.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 60 -
OBJETOS DE ENLACE DE DATOS
OBJETO DATAADAPTER
Como hemos comentado anteriormente, el objeto sqlDataAdapter va a
desempear el papel de puente entre el origen de datos y el DataSet,
permitindonos cargar el DataSet con la informacin de la fuente de datos y
posteriormente, actualizar el origen de datos con la informacin del
DataSet.
La Clase DataAdapter dispone de cuatro propiedades, que nos van a
permitir asignar a cada una, un objeto Command (sqlCommand) con las
operaciones estndar de manipulacin de datos. Estas propiedades son las
siguientes.
PROPIEDAD DESCRIPCIN
InsertCommand Objeto de la clase Command, que se va a utilizar
para realizar una insercin de datos.
SelectCommand Objeto de la Clase Command que se va a utilizar
para ejecutar una sentencia Select de SQL.
UpdateCommand Objeto de la Clase Command que se va a utilizar
para realizar una modificacin de los datos
DeleteCommand Objeto de la Clase Command que se va a utilizar
para realizar una eliminacin de datos.
Tipos de adaptadores de datos
Visual Studio incorpora dos adaptadores de datos principales para utilizarse
con bases de datos:
OleDbDataAdapter es apropiado para utilizarlo con cualquier fuente de
datos que proporcione un proveedor OLE DB.
SqlDataAdapter es especfico a SQL Server. Como no funciona a travs de
una capa OLE DB, es ms rpido que OleDbDataAdapter. Sin embargo, slo
puede ser utilizado con SQL Server versin 7.0 o superior.
Creacin del DATAADAPTER
Podemos instanciar el DataAdapter utilizando la palabra clave Dim y
pasando una cadena de consulta y un objeto Connection como parmetros.
El DataAdapter verificar si la Connection est abierta, y si no lo est, la
abrir para nosotros y la cerrar cuando nuestra llamada al mtodo se
complete. Esta aproximacin es til si ya hemos establecido las propiedades
de un objeto Connection en nuestra aplicacin y slo necesitamos abrir la
conexin para poblar las tablas de datos.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
OBJETO DATASET
Este objeto pertenece a la clase desconectada de ADO.NET y se encuentra
definida en el espacio de nombres System.Data. Las clases desconectadas
se muestran en la siguiente tabla.
CLASE DESCRIPCIN
DATASET
Clase desconectada de datos que almacena tablas
(y sus columnas), que pueden estar relacionadas
entre s y sobre las cuales se puede aplicar
diferentes vistas.
DATATABLE
Clase que define la estructura de datos bsica de
un SGBDR. Se compone de filas y columnas en las
que almacena la informacin y sus esquemas.
DATACOLUMN
Representa una unidad de informacin dentro de
la tabla. Almacena su descripcin (Metadatos) y
su informacin (Dato).
DATAROW
Agrupacin de un conjunto de columnas con
informacin. Una tabla representa a su vez una
agrupacin de filas.
DATARELATION
Establece el vnculo que existe entre dos o ms
tablas a partir de un campo clave. Esto permitir
navegar por la informacin de las tablas
relacionadas de manera transparente
DATAVIEW
Proporciona la habilidad de acceder a los datos de
una tabla desde diferentes puntos de vistas,
ordenacin y filtrado de datos.
La estructura de un DataSet se muestra en la siguiente figura.
DataSet
ConstraintCollection
DataRelationCollection
DataTableCollection
DataTable
DataColumnCollectio
DataRowCollection
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 62 -
Cada tabla contenida dentro de un objeto DataSet se encuentra disponible a
travs de su propiedad Tables. Que es una coleccin de objetos
system.data.datatable.
Cada objeto DataTable contiene una coleccin de objetos DataRow que
representan las filas de la tabla. Cada objeto DataRow, es decir, cada fila
posee una coleccin de objetos DataColumn, que representa cada una de
las columnas de la fila actual.
Cada objeto DataTable dispone de una propiedad llamada DefaultView, que
devuelve un objeto de la clase DataView, el cual nos ofrece una vista de los
datos de la tabla para que podamos recorrer los datos, filtrarlos, ordenarlos,
etc.
Para poder crear e inicializar las tablas de dataSet debemos hacer uso del
objeto DataAdapter. Para SQL el objeto es sqlDataAdapter.
Llenar un DATASET
Un dataset es un contenedor, de modo que necesitamos poblarlo con datos.
Podemos poblar un dataset de varios modos:
Invocar el mtodo Fill de un adaptador de datos. Llamando este mtodo
hace que el adaptador ejecute una sentencia SQL o un procedimiento
almacenado y pueble una tabla en el dataset con los resultados. Al objeto
DataAdapter le pasamos como parmetro una cadena que representa la
consulta que se va a ejecutar, y que va a rellenar de datos el DataSet. Del
objeto DataAdapter utilizamos el mtodo Fill(), que posee dos parmetros;
el primero es el Data Set a rellenar de informacin; y el segundo, una
cadena con el nombre que tendr la tabla creada dentro del DataSet,
producto de la ejecucin de la consulta.
Poblar tablas manualmente en el dataset creando DataRows y aadirlas a la
coleccin Rows de la tabla.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Aplicacin 13:
Consulta en un ListBox
El siguiente cdigo fuente se muestra un sencillo ejemplo de creacin de un
objeto DataSet que llenaremos con un DataAdapter. Una vez listo el
DataSet, recorreremos la tabla que contiene y mostraremos valores de sus
columnas en un ListBox.
En el ModDeclaraciones, agregar una variable para el SQLDataAdapter.
En el ModDeclaraciones, agregar una variable para el SQLDataAdapter.
En el ModDeclaraciones, agregar una variable para el DataTable.
En el ModDeclaraciones, agregar una variable para el DataRow.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 64 -
Al hacer clic en Mostrar Clientes, se deben mostrar todos los datos de la
tabla Cliente en el ListBox.
En el ejemplo solo se estn mostrando los Campos Nombre y Apellido:
Prctica Clase:
Programar la bsqueda de Datos para las Tablas Vendedor y Producto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Aplicacin 14:
Consulta en un ListView
Usaremos la misma lgica de la aplicacin anterior, y mostraremos todos
los datos de la Tabla Cliente en un ListView.
Al hacer clic en Mostrar Clientes:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 66 -
El resultado sera:
Prctica Clase:
Programar la recuperacin de Datos para las Tablas Vendedor y Producto.
Grupo Educa
Aplic
Mostr
uno.
Al
ati vo Leonardo
cacin 15:
rar los Dat
Los TextBo
Cargar el
Da Vinci
tos en Text
ox deben in
Formulario
tBox y per
niciar desac
o se deben
rmitir reco
ctivados.
mostrar lo
rrer todos
os datos de
Visual Basi
los registr
el primer c
COM
c .NET - Avanza
ros uno a
liente.
MPUTREIN
ado
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 68 -
Programar los Botones Primero, Siguiente, Anterior y ltimo.
En la aplicacin se estn agrupando los botones de movimiento en un
procedimiento comn y a travs del parmetro sender se controla al botn
sobre el cual se hace click usando en todo momento la variable reg, para
saber en todo momento la fila sobre la cual nos encontramos.
Prctica Clase:
Programar la Navegacin de Datos para las Tablas Vendedor y Producto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Sesin 6
ENLACE A DATOS
EN WI NDOWS
FORM I I
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 76 -
TABLAS DE BSQUEDAS
CONTROL DATAGRIDVIEW
Despus de poblar un dataset, podemos visualizar y modificar datos
utilizando el control DataGridView de Windows Forms. DataGridView
muestra datos en una serie de filas y columnas. El caso ms simple es
cuando la rejilla se enlaza con una fuente de datos que contiene una nica
tabla sin relaciones. En ese caso, los datos aparecen simplemente en filas y
columnas, como en una hoja de clculo.
Cmo funciona el DATAGRIDVIEW
Si el DataGridView se enlaza a datos con mltiples tablas relacionadas y si
se activa la navegacin en la rejilla, ste visualizar expansores en cada
fila. Un expansor permite la navegacin desde una tabla padre a una hija.
Haciendo clic en un nodo se muestra la tabla hija y haciendo clic en el botn
Atrs muestra la tabla padre original. En este modo, la rejilla muestra las
relaciones jerrquicas entre tablas.
DataGridView puede proporcionar un interfaz de usuario para un dataset,
navegacin entre tablas relacionadas y ricas capacidades de formateo y
edicin. La visualizacin y manipulacin de datos son funciones separadas:
el control gestiona el interfaz de usuario, mientras que las actualizaciones
de datos las gestiona la arquitectura de enlace de datos de Windows Forms
y por los proveedores de datos ADO.NET. Por tanto, mltiples controles
enlazados a la misma fuente de datos permanecern sincronizados.
Enlace de datos al control
Para que el control DataGridView funcione, debemos enlazarlo con una
fuente de datos utilizando las propiedades DataSource y DataMember en
tiempo de diseo. Este enlace vincula el DataGridView a un objeto de fuente
de datos instanciado (como un DataSet o DataTable) y el control
DataGridView se actualiza con los resultados de acciones realizadas sobre
los datos. La mayora de acciones especficas de datos no son realizadas por
el DataGridView. Se realiza por medio de la fuente de datos.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Aplicacin 16:
Mostrar datos de un DataSet usando el control DataGridView
En el Mdulo ModDeclaraciones, declarar la Variable para el constructor
de las sentencias SQL: SQLCommandBuilder.
Al hacer clic en Mostrar Clientes, se debe llenar el DataGridView con
todos los datos de la Tabla Cliente.
Prctica Clase:
Programar para las Tablas Vendedor y Producto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 78 -
ACTUALIZAR DATOS CON DATAADAPTER Y DATASET
DataAdapter soporta mtodos especficos para mover datos entre el
DataSet y la fuente de datos. Podemos utilizar un adaptador de datos para
realizar las siguientes operaciones:
Recuperar filas de una fuente de datos y poblarlas en tablas de datos
correspondientes en un DataSet.
Para recuperar filas de una fuente de datos y poblar un DataSet, utilizar el
mtodo Fill de SqlDataAdapter u OleDbDataAdapter. Cuando invocamos el
mtodo, se invoca una sentencia SQL SELECT en la fuente de datos.
Ejecutar este mtodo abrir y cerrar el objeto de conexin.
Transmitir los cambios realizados a una tabla DataSet a la fuente de datos
correspondiente.
Para transmitir los cambios en una tabla DataSet a la fuente de datos,
utilizar el mtodo Update del adaptador. Cuando invocamos el mtodo,
ejecuta cualquier sentencia SQL INSERT, UPDATE o DELETE que sea
necesaria, dependiendo de si el registro afectado es nuevo, modificado o
borrado. Ejecutar este mtodo abrir y cerrar el objeto conexin.
Aplicacin 17:
Mostrar datos en un DataGridView y permitir agregar nuevos Clientes
ingresando los Datos en los TextBox.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
DATARELATION
Los objetos DataRelation nos permiten establecer una relacin entre dos
tablas (objetos DataTable) de un DataSet, a travs de una columna o
campo comn (objetos DataColumn).
Obtener tablas relacionadas mediante cdigo
Aplicacin 19:
Se desean mostrar las Boletas generadas con sus respectivos detalles de los
productos.
Podemos ahorrar la escritura de las instrucciones que se encargan de
obtener las filas hijas, relacionadas con la fila seleccionada de la tabla
padre, empleando un DataGrid. Este control implementa de forma
transparente todos los mecanismo necesarios gracias al databinding, por lo
que, una vez creada la relacin, slo hemos de asignar a su propiedad
DataSource, la tabla padre del Dataset.
Grupo Educa
LA C
La cla
de un
de fila
En A
deber
de un
ati vo Leonardo
LASE DA
ase DataVie
na tabla co
as.
ADO clsico
ramos crea
na gran can
Da Vinci
ATAVIEW
ew nos per
ontenida en
o, para d
ar diferent
ntidad de r
rmite la ap
n un DataS
isponer d
es objetos
ecursos.
licacin de
Set, as co
e varias v
Recorset,
e vistas per
mo la orde
vistas de
lo cual pro
rsonalizada
enacin y
una mism
ovocaba el
COM
as a partir
bsqueda
ma tabla,
consumo
MPUTREIN
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Sesin 8
CRYSTAL
REPORTS I
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 104 -
INFORMES
Visual Studio. Net incluye Crystal Reports como un mecanismo oficial de
creacin de reportes. Crystal Reports es un producto muy desarrollado y
completo para la creacin de reportes y cuenta con una infinidad de
opciones.
CREAR CONEXIN CON LA BASE DE DATOS
1) Agregar nuevo origen de Datos.
2) Elegir tipo de Origen de Datos
3) Elegir la conexin a usarse.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
CREAR UN INFORME
Independiente de cmo se har la presentacin, el reporte se define en un
archivo .RPT, que forma parte de su proyecto. Ese archivo especifica el
modo en que se har la presentacin del reporte, pero no incluye los datos
propiamente dichos. Los datos se definirn en el tiempo de ejecucin.
Crystal Reports se basa en un concepto muy comn de la definicin de
reportes: los reportes se componen de secciones, y cada seccin es un
espacio horizontal en la pgina. Existen diversos tipos de secciones, por
ejemplo:
Encabezado del reporte, aparece en la primera pgina.
Encabezado de pgina, aparece en la parte superior de todas las pginas.
Detalle: lo ms importante. En el tiempo de ejecucin, se genera una de
estas secciones para cada lnea (registro) en la base de datos.
Pie de pgina, aparece en la parte inferior de todas las pginas.
Pie de reporte, aparece al final del reporte.
Aplicacin 24:
Crear un Reporte que muestre la lista de todos los Clientes.
Antes de crear el reporte debemos tener un proyecto abierto y deber estar
la fuente de datos a mostrar.
Agregamos un nuevo elemento al Proyecto.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 110 -
Ahora agregaremos un reporte al proyecto. Seleccionaremos CrystalReports
y le daremos el nombre de RPTClientes.
Crystal Reports mostrar la galera en la cual seleccionaremos Usar
asistente de Informes. Tambin seleccionamos Informe Estndar.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
MOSTRAR INFORMES
VISUALIZADOR DEL INFORME
Los reportes se visualizan en los formularios usando el control
CrystalReportViewer.
Aplicacin 25:
Modificar las propiedades:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 118 -
El CrystalReportViewer cambiar de apariencia:
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 120 -
Sesin 10
PROYECTOS DE
I NSTALACI N
7) Finalizar la instalacin.
8) En la carpeta seleccionada para la instalacin, se copiarn los archivos
necesarios.
9) Para desinstalar la aplicacin, el proceso se ejecuta desde el Panel de
control.
Grupo Educativo Leonardo Da Vinci
COMPUTREIN
Visual Basic .NET - Avanzado
- 130 -
Sesin 11
PROYECTO FI NAL