unidad 1. conexión con bases de datos

29
Programación .Net III Unidad 1. Conexión con bases de datos en .NET Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 0 Ingeniería en Desarrollo de Software 9º Cuatrimestre Programa de la asignatura: Programación .Net III Unidad 1. Conexión con bases de datos en .NET Clave: 150930934 Universidad Abierta y a Distancia de México UnADM

Upload: emmanuelchato

Post on 25-Oct-2015

117 views

Category:

Documents


13 download

TRANSCRIPT

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 0

Ingeniería en Desarrollo de Software

9º Cuatrimestre

Programa de la asignatura:

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Clave:

150930934

Universidad Abierta y a Distancia de México

UnADM

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 1

Índice

Unidad 1. Conexión con bases de datos en .NET ................................................................. 2

Presentación de la unidad ...................................................................................................... 2

Propósitos ............................................................................................................................... 2

Competencia específica ......................................................................................................... 2

1.1. Tecnologías .NET de acceso a datos ............................................................................. 3

1.1.1. OLE DB......................................................................................................................... 3

1.1.2. ADO .............................................................................................................................. 6

1.1.3. ADO .NET ..................................................................................................................... 7

1.2. Recuperación y modificación de datos mediante ADO.NET ........................................ 12

1.2.1. DataReaders............................................................................................................... 13

1.2.2. DataAdapters .............................................................................................................. 16

1.2.3. DataSets ..................................................................................................................... 17

Actividad 1. Acceso a datos ................................................................................................. 20

1.3. Análisis de requerimientos ............................................................................................ 21

1.3.1 Análisis del caso de estudio ........................................................................................ 21

Actividad 2. Tecnologías de acceso a datos........................................................................ 22

1.3.2 Diseño de base de datos relacional ............................................................................ 23

Evidencia de aprendizaje. Conexión con bases de datos en .NET..................................... 25

Autoevaluación ..................................................................................................................... 26

Autorreflexiones .................................................................................................................... 27

Cierre de la unidad ............................................................................................................... 27

Para saber más .................................................................................................................... 27

Fuentes de consulta ............................................................................................................. 28

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 2

Unidad 1. Conexión con bases de datos en .NET

Presentación de la unidad

¡Bienvenid@ a la primera unidad de la asignatura Programación .NET III en la cual,

abordarás temas relacionados con la conexión de bases de datos en .NET, seguramente

recordarás que las operaciones fundamentales de todo programa son la recuperación,

generación y almacenamiento de información, pues bien, para lograr que estas acciones

sean llevadas a cabo por los programas, es necesario contar con mecanismos de

conexión a fuentes de información que comúnmente son bases de datos y/o archivos de

configuración. Por lo tanto, en la presente unidad se explicarán las diferentes opciones

con las que cuenta la tecnología .NET para desarrollar conexiones con bases de datos lo

cual tiene el propósito de aportar a tu formación profesional como desarrollador de

software, el poder realizar una conexión entre una aplicación .NET y una base de datos

específicamente empleando MySQL como sistema gestor de bases de datos.

Esta unidad contempla los conceptos y operaciones necesarias para establecer

conexiones entre un programa y una base de datos, con el fin de poder gestionar y

procesar información.

Propósitos

En esta unidad lograrás:

• Identificar los conceptos básicos de una conexión en .NET para poder aplicar esta

tecnología en proyectos de procesamiento y gestión de la información.

• Identificar las operaciones que se pueden realizar a una base de datos mediante

un programa de conexión en .NET.

• Conectar un programa .NET con una base de datos MySQL.

• Recuperar y modificar información de una base de datos MySQL con .NET.

Competencia específica

Conectar componentes de software a una base de datos para realizar el proceso de

gestión de información, aplicando los procedimientos que la tecnología .NET proporciona.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 3

1.1. Tecnologías .NET de acceso a datos

Cuando se requiere desarrollar algún componente de software (sistema, aplicación,

programa, etcétera), es común que surja la necesidad de contar con algún medio de

almacenamiento de información. Usualmente este requerimiento se cubre con bases de

datos y un manejador o sistema gestor de bases de datos (si necesitas recordar lo que es

un sistema gestor de bases de datos, revisa las asignaturas Diseño de bases de datos y

Administración de bases de datos) como SQL Server, MySQL, Postgres, etcétera.

Se puede decir, que el acceso a datos consiste en establecer una conexión entre dicho

componente de software y el medio de almacenamiento de información (Gómez, 2010).

Una vez que se ha realizado esta conexión, es posible realizar operaciones de gestión de

información tales como:

• Crear (altas)

• Borrar (bajas)

• Actualizar (cambios)

• Recuperar (leer)

Cada lenguaje de programación cuenta con diferentes tecnologías llamadas de acceso a

datos mediante las cuales es posible establecer conexiones entre el software y un origen

de datos. En esta materia se abordarán las opciones que Microsoft ofrece para trabajar

con Visual Basic .NET y MySQL.

1.1.1. OLE DB

OLE DB (Object Linking and Embedding for Databases) es una tecnología de acceso a

datos desarrollada por Microsoft cuyo objetivo es unificar el acceso a la información,

considerando que esta puede estar en diferentes recursos como bases de datos o

archivos de diferentes tipos. Esta tecnología se caracteriza por ser capaz de separar los

datos de la aplicación donde se encuentran contenidos, esto se basa en el fundamento de

que las aplicaciones necesitan acceso a diferentes orígenes de datos y no requieren

conocer las funcionalidades específicas de cada origen.

(MSDN 2013 c)

Microsoft propone un modelo simple pero muy poderoso de acceso universal a los datos

UDA (Universal Data Access) ¿a qué hace referencia este concepto? Para responder a

este cuestionamiento, es necesario situarse en un ambiente organizacional, donde la

información es obtenida desde diferentes medios como archivos, hojas de cálculo, bases

de datos e incluso del correo electrónico.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 4

La problemática inicial para el planteamiento de una conexión de datos, consiste en la

necesidad de consolidar todas estas fuentes de información, en un sólo sistema gestor de

base de datos (si requieres recordar qué es un sistema gestor de bases de datos, revisa

la asignatura Administración de bases de datos), desde donde cada área de la

organización pueda acceder a la información que necesita de manera oportuna y segura.

Implementar el sistema antes mencionado, puede llegar a ser un proceso bastante

costoso, donde muy probablemente se necesitará mucho tiempo en su desarrollo y

optimización para cubrir eficientemente los requerimientos de la organización.

Como solución a estos inconvenientes, Microsoft propone el acceso universal a los datos.

Este modelo comprende dos grandes características (MSDN, 2013 e):

Consulta distribuida: Se refiere a que es capaz de homogeneizar el acceso a los

datos, ya sean del mismo tipo o no. En otras palabras, permite ejecutar una misma

consulta en cualquier fuente de datos y obtener los mismos resultados.

Acceso no DBMS (Data Base Management System): Se refiere a que es posible tener

acceso a orígenes de datos que no son manejadores de bases de datos (para

recordar qué son los manejadores de bases de datos revisa las asignaturas

Diseño de bases de datos y Administración de bases de datos). Por ejemplo: emails,

sistemas de archivos, hojas de cálculo y/o aplicaciones de administración de

proyectos.

Para comprender mejor el alcance de este modelo, se ejemplifica con el siguiente

planteamiento:

“Lily es la gerente de ventas de una importante empresa constructora y necesita buscar

todos los correos electrónicos enviados por los prospectos de un determinado desarrollo

habitacional durante el último trimestre.”

Este requerimiento puede ser solucionado si se realiza una búsqueda en el correo

electrónico de Lily (Outlook) para obtener los mensajes y para conocer la información del

prospecto, otra búsqueda se puede realizar en la tabla “prospectos” de una base de datos

(Oracle). De las aplicaciones mencionadas en el ejemplo, Oracle es un DBMS, pero

Outlook no.

OLE DB permite desarrollar aplicaciones que sean capaces de obtener información de

diferentes fuentes de datos, mediante elementos consumidores y proveedores que se

exponen a continuación.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 5

Consumidores y Proveedores

El modelo que emplea OLE DB se basa en consumidores y proveedores, donde un

consumidor es todo aquel elemento de software (programa) que realiza solicitudes de

datos y un proveedor es aquel elemento de software (programa) que responde a dichas

solicitudes entregando la información solicitada. Como regla general, cada llamada o

petición realizada por los consumidores, debe estar implementada en el proveedor.

De manera técnica, es posible decir que un consumidor es todo aquel sistema, aplicación

o programa que tiene acceso a los datos por medio de interfaces OLE DB. Es posible

definir a los proveedores como todo aquel componente de software que implementa

interfaces OLE DB para encapsular el acceso a los datos para enviarlos a los

consumidores. (MSDN 2013 a).

En la práctica, un ejemplo de consumidor es la página web que muestra tus calificaciones,

mientras que el proveedor es aquel programa que realiza la consulta y presenta el

resultado.

Objetos OLE DB

Los objetos que conforman la tecnología de conexión o el modelo de OLE DB se

clasifican en las siguientes categorías:

Tipo Nombre Función

A. Conexión

Orígenes de datos Permite establecer una conexión a un origen

de datos (ej. archivos o bases de datos).

Crea y gestiona la conexión mediante la

información adecuada de permisos (nombres

de usuario y passwords).

Crea una o varias sesiones.

Sesiones Controla la interacción que tiene lugar con el

origen de datos para su consulta y

recuperación.

Cada sesión es una transacción.

Crea uno o varios comandos.

Comandos Ejecutan un comando de texto (ej. una

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 6

instrucción SQL).

Son enviados por un consumidor a un objeto

de origen de datos para su ejecución.

Comúnmente son instrucciones SELECT y

crean conjuntos de filas.

B. Procesamiento

Descriptores de

accesos

Describe cómo están almacenados los datos

en el consumidor.

Transacciones Agrupan una serie de actualizaciones que van

a ser registradas en un origen de datos, con

el objetivo de que todas se realicen

exitosamente y sea confirmada su ejecución.

Cuando una de estas instrucciones falle, se

puede cancelar toda la transacción.

Garantiza la integridad del resultado en el

origen de datos.

(MSDN 2013 a)

En el tema 1.1.3. ADO.NET se abordarán a detalle las características de estos objetos.

1.1.2. ADO

La tecnología ADO (Microsoft ActiveX Data Objects) permite a las aplicaciones el acceso

a datos de un servidor de base de datos y su manipulación a través de un proveedor

OLE DB (MSDN, 2013 d).

Las principales ventajas que ofrece ADO a los desarrolladores son:

Facilidad de uso

Alta velocidad

Bajo nivel de consumo de memoria

Poca ocupación de espacio en disco.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 7

Esta tecnología puede ser empleada por ambientes Windows (Visual Basic, C++) y en

ambientes Web (ASP).

Con el empleo de esta tecnología, es posible recuperar, editar, insertar o eliminar

información almacenada en bases de datos. De igual manera, permite realizar tareas

administrativas sobre la estructura de la base de datos como crear nuevas tablas, alterar

la estructura de las tablas existentes e incluso eliminarlas.

Componente Función

Recordset Maneja un conjunto de registros de la base de datos. Cada recordset

puede ser generado por una o varias tablas de la base de datos. Este

componente tiene la capacidad de recorrerse entre sus elementos en

todas direcciones: al siguiente o anterior registro así como al último o al

primero.

Command Envía instrucciones SQL para ser ejecutados en la base de datos. Los

comandos permiten insertar nuevos registros así como editarlos o

eliminarlos. Entre las instrucciones SQL que se efectúan con

Command, también se incluyen aquellas que nos permiten recuperar la

información. Selects y sus criterios o filtros.

Connection Establece la conexión con la base de datos. En esta conexión se

intercambian los datos y las operaciones a realizar sobre la base de

datos. Emplea al proveedor OLE DB cuando se tratan de bases de

datos nativas de Windows y ODBC si se trata de otro tipo de bases de

datos.

DataProvider Se encarga de conectar directamente con el tipo de base de datos al

que pertenece. Por cada tipo de base de datos, se debe implementar el

DataProvider específico de dicho tipo. En otras palabras, cada

manejador cuenta con su propio DataProvider.

Principales componentes ADO, basado en (MSDN, 2013 d)

1.1.3. ADO .NET

ADO .NET es una tecnología para el acceso y gestión de datos desarrollada por Microsoft

(si necesitas recordar lo que es la gestión de datos, revisa la asignatura Administración de

bases de datos). Está conformada por un conjunto de clases que ofrecen servicios de

acceso a datos y componentes para la creación de aplicaciones de uso compartido.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 8

Las fuentes de datos de esta tecnología comprenden:

Bases de datos relacionales

XML

Aplicaciones

Esta tecnología permite que cualquier aplicación que consuma datos pueda conectarse

al origen de datos que requiera, recuperarlos, gestionarlos y actualizarlos

adecuadamente. El modelo de ADO .NET separa el acceso de los datos de su

manipulación, de tal manera que los datos pueden procesarse directamente en su fuente

o manipularse en la memoria mediante un DataSet. (Se explicará más adelante las

características de un DataSet).

Esta tecnología ADO.NET es el modelo que utiliza .NET para el acceso a orígenes de

datos como SQL Server y XML de forma nativa y a otros orígenes a través de OLE DB y

ODBC.

Según Gómez (2010), ADO .NET ofrece las siguientes ventajas:

Soporte nativo para XML.

Recorre fácilmente los elementos de un DataSet empleando el comando For

Each.

Los DataAdapters pueden realizar consultas sobre distintas bases de datos al

mismo tiempo.

Permite trabajar “offline” creando una imagen de la base de datos en la memoria

del equipo del cliente, como se mencionó anteriormente el modelo ADO .NET

permite separar el acceso a datos, por eso una vez que se cargan los datos

traídos de la base de datos mediante un DataAdapter(se explica más adelante las

características de un DataAdapter), se asigna a un DataSet, este último es un

objeto que se almacena en memoria RAM con los datos que trajo el DataAdapter

desde la base de datos, así aun estando en modo offline los datos se pueden

manipular ya que se guardan en memoria gracias al DataSet.

Arquitectura de ADO .NET

Los principales componentes de ADO .NET son los proveedores de datos .NET

Framework y DataSet. Sus características son las siguientes:

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 9

Proveedores de datos .NET framework. Son objetos diseñados para la manipulación de

datos y el acceso rápido a datos de sólo lectura y sólo avance. Comprende los siguientes

objetos (Gómez, 2010):

CONNECTION: Proporciona la conexión al origen de datos.

COMMAND: Permite el acceso a comandos de bases de datos para devolver y

modificar datos, ejecuta store procedures y recupera información sobre parámetros.

DATAREADER: Proporciona el flujo de datos desde el origen de datos.

DATAADAPTER: Proporciona el enlace entre el DataSet y el origen de datos. Utiliza

a los objetos Command para ejecutar comandos SQL sobre el origen de datos. Estos

comandos cumplen dos funciones principales:

1. Cargar el DataSet con los datos obtenidos y

2. Sincronizar el origen de datos con las modificaciones realizadas sobre los datos.

DataSet. Su objetivo principal es tener acceso a los datos de manera independiente al

origen de los datos. Permite su utilización con múltiples y distintos orígenes de datos. Se

compone por diferentes objetos que estudiaremos más a fondo en el siguiente capítulo.

En la siguiente figura se muestra la arquitectura de ADO .NET y la relación que existe

entre un proveedor de datos .NET FRAMEWORK y un DATASET, donde los datos

obtenidos son colocados en un DataSet para que los usuarios puedan interactuar con

ellos rápidamente. Los datos que se cargan a un DataSet se encuentran desconectados

del origen de datos, mientras que los datos cargados en un DataReader si se encuentran

conectados al origen de datos.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 10

Basado en (Gómez, 2010, pág. 139)

Proveedores de datos .NET Framework. Los proveedores de datos .NET Framework

sirven para realizar las tareas principales del procesamiento de datos:

a) Conectarse a una base de datos

b) Ejecutar comandos

c) Recuperar información

La siguiente tabla comprende los proveedores de datos incluidos en .NET Framework.

Proveedor de

datos.NET

Framework

Espacio de nombres Descripción

SQL Server System.Data.SqlClient

Proporciona acceso a datos para

Microsoft SQL Server.

OLE DB System.Data.OleDb

Para orígenes de datos que se

exponen mediante OLE DB (como

Access)

ODBC System.Data.Odbc Para orígenes de datos que se

exponen mediante ODBC

Flujo de datos

Flujo de datos

Flujo de datos

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 11

Oracle System.Data.OracleClient

Para orígenes de datos de Oracle.

Versiones 8.1.7 y posteriores

EntityClient System.Data.SqlEntityClient

Proporciona acceso a datos para las

aplicaciones de Entity Data Model

(EDM)

Proveedores de datos de .NET Framework (Gómez, 2010, pág. 140).

Objetos principales de los proveedores de datos .NET Framework.

Objeto Descripción Clase

Connection Establece una conexión a un

origen de datos determinado.

DbConnection

Command Ejecuta comandos en un origen

de datos.

DbCommand

DataReader Lee un flujo de datos de solo

avance y solo lectura desde un

origen de datos.

DbDataReader

DataAdapter Ejecuta las actualizaciones

necesarias en el origen de

datos.

DbDataAdapter

Transaction Incluye comandos en las

transacciones realizadas en el

origen de datos.

DbTransaction

CommandBuilder Genera automáticamente las

propiedades de comando de un

DataAdapter

DBCommandBuilder

ConnectionStringBuilder Proporciona un modo sencillo

de crear y administrar los

contenidos de las cadenas de

conexión empleadas por los

objetos Connection.

DbConnectionStringBuilder

Parameter Define parámetros de entrada y DbParameter

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 12

salida así como los valores

devueltos para los comandos y

store procedures.

Exception Es devuelto cuando se detecta

un error en el origen de datos

DbException

Error Contiene la información

relacionada con advertencias o

errores devueltos por el origen

de datos.

DbError

ClientPermission Se proporciona para los

atributos de acceso del código

de los proveedores de datos.

DbDataPermission

Objetos de los proveedores de datos .NET Framework (Gómez, 2010, pág. 140).

Con la explicación de los objetos de proveedores de datos se concluye el tema 1.1

Conexión a bases de datos en .NET, en él se revisaron las generalidades y conceptos

básicos que intervienen en el acceso a la información desde un componente de software

a una fuente de datos determinada. De igual manera se explicó que las fuentes de

información no son únicamente bases de datos, si no también pueden ser archivos como

hojas de cálculo, documentos XML o incluso correos electrónicos. En el siguiente tema se

abordará más a fondo este proceso de recuperación de información y conocerás de qué

manera es posible realizar tareas de gestión sobre dichos datos.

1.2. Recuperación y modificación de datos mediante ADO.NET

En este tema conocerás a detalle la tecnología propuesta por Microsoft para la obtención

y gestión de información (ADO .NET). La importancia de aprender esta tecnología, radica

principalmente en que es muy común, encontrarse con la necesidad de obtener y trabajar

con datos que se encuentran en diferentes fuentes como archivos o bases de datos,

mediante ADO.NET, es posible desarrollar aplicaciones que trabajen con diferentes

orígenes de datos.

Es posible resumir el proceso de recuperación y modificación de datos con ADO .NET con

los siguientes pasos, mismos que se detallarán a continuación:

1. Conectarse al origen de datos (bases de datos, archivos, etcétera).

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 13

2. Cargar en memoria una representación offline de los datos (DataSet).

3. Realizar las operaciones necesarias con los datos (consultas, actualizaciones)

(DataAdapter).

4. Sincronizar la base de datos offline con la base de datos origen (DataAdapter).

Los objetos que conforman ADO. NET, se explicarán en los siguientes subtemas.

1.2.1. DataReaders

Como se mencionó en los temas 1.2.1 DataSets y 1.2.2 DataAdapters, los DataSets

comprenden una representación offline de los datos y en este tema se abordarán los

DataReaders que son una alternativa más eficiente cuando no se requiere trabajar con

grandes volúmenes de información o recurrencia de usuarios (Gómez, 2010).

En el supuesto caso de que un sistema requiera leer una gran cantidad de registros y que

esta petición se realice por muchos usuarios de manera recurrente, si se carga esta

información en DataSets, se estará sobresaturando la memoria con muchos datos. Ante

este tipo de situaciones es más eficiente emplear un objeto DataReader pues está

diseñado para generar un flujo de sólo lectura y sólo hacia delante, de tal manera que

únicamente almacena un registro en memoria cada vez en el servidor.

Otro ejemplo donde un DataReader es más eficiente está representado cuando se

requiere una consulta rápida como en un proceso de autenticación, donde sólo es

necesario extraer las credenciales de un usuario (login y password) sin realizar

operaciones adicionales sobre los datos.

La principal diferencia entre los objetos DataSets y DataReaders, es que un DataSet

requiere mucho mayor consumo de memoria pues además de cargar toda la base de

datos, la puede recorrer hacia atrás y hacia adelante, mientras que un DataReader

únicamente lee y recorre los datos hacia adelante registro por registro consumiendo

menos recursos del servidor.

Cabe resaltar que en un DataReader se deben realizar ciertas funciones de manera

manual, como en el caso de las conexiones y la navegación entre registros.

Para comprender mejor el funcionamiento del DataReader, se explicará a continuación

paso por paso y posteriormente se explicará su implementación:

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 14

1. Se crea la conexión a la base de datos. Para el caso de SQL Server se emplea el

objeto SQLConnecction, para otras como MySQL se emplean OleDbConnection.

2. Se abre la conexión.

3. Se crea un objeto Command.

4. Desde el objeto Command, se crea el DataReader.

5. Se invoca al objeto ExecuteReader.

6. Se emplea el objeto DataReader.

7. Se cierra el objeto DataReader.

8. Se cierra la conexión a la base de datos.

Ejemplo de implementación de un DataReader

1. Dim strConn as String=”data source=localhost; initial catalog=dbAlumnos;”

2. Dim objConn as New SqlConnection(strConn)

3. Dim cmdTbProveedores as New Data.SqlClient.SqlCommand(“Select * From

Alumno”, objConn)

4. Try

5. objConn.Open

6. Dim dr as SqlDataReader

7. dr = cmdTbProveedores.ExecuteReader()

8. Do While dr.Read()

9. TextCta.Text = dr.Items(“NumCta”)

10. TextNombre.Text = dr.Items(“Nombre”)

11. TextPaterno.Text = dr.Items(“APaterno”)

12. Loop

13. dr.Close()

14. objConn.Close()

15. Catch (e as Exception)

16. MsgBox(e.message)

17. End Try

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 15

Análisis del código.

1. Se declara la variable que almacenará la cadena de conexión y se establece su

conexión strConn, en esta variable el data source es la dirección IP donde se encuentra

la base de datos (recuerda que si la base de datos esta localmente se escribe localhost o

la dirección IP 127.0.0.1), y el initial catalog se refiere al nombre de la base de datos a la

cual se desea conectar, en este caso es “Alumnos”, en este caso la base de datos está

instalado en la misma computadora en la que se está programando en .net, por ello se

integra “localhost”,:

Dim strConn as String=”data source=localhost; initial catalog=dbAlumnos;”

Dim objConn as New SqlConnection(strConn)

2. Se crea un objeto command:

Dim cmdTbProveedores as New Data.SqlClient.SqlCommand(“Select * From

Alumno”, objConn)

3. Se utiliza un controlador de excepciones Try, Catch o Finally, para el proceso de

lectura de datos:

Try

objConn.Open

Dim dr as SqlDataReader

dr = cmdTbProveedores.ExecuteReader()

4. Mediante la estructura Do While, se leen los datos y se cargan en un control TextBox:

Do While dr.Read()

TextCta.Text = dr.Items(“NumCta”)

TextNombre.Text = dr.Items(“Nombre”)

TextPaterno.Text = dr.Items(“APaterno”)

Loop

5. Se cierra el DataReader:

dr.Close()

6. Se cierra la conexión:

objConn.Close()

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 16

7. Se muestra la excepción en caso de que se presente:

Catch (e as Exception)

MsgBox(e.message)

End Try

El resultado de este ejemplo sino no muestra el compilador del programa que utilices para

desarrollar en Visual Basic alguna excepción, es la conexión correcta a la base de datos a

la cual te estas conectando que en este caso es la dbAlumnos.

En este subtema se expuso el uso del objeto DataReader, para identificar en qué

situaciones es más conveniente utilizar uno u otro modelo de recuperación y modificación

de datos es necesario que continúes con el desarrollo de la unidad donde se explicarán

los demás modelos: DataAdapters y DataSets.

1.2.2. DataAdapters

Este tema comprende un objeto importante de la arquitectura de ADO .NET, el

DataAdapter, cuya función principal es rellenar un DataSet y efectuar actualizaciones en

el origen de datos. Este objeto DataAdapter está representado por un conjunto de

comandos SQL y una conexión de base de datos (Gómez, 2010). Se puede decir que un

DataAdapter habla el lenguaje de la base, entonces a él se le solicita la consulta que se

desea hacer y la base de datos a la que se desea conectar, ese DataAdapter regresa

datos pero en .Net si se desea saber qué datos regresé el DataAdapter regresa objetos

raros que no entiende el .net jorge arellano: para que el .net entienda lo que trajo el data

adapter a ese data adapter se le pasa a un data set y el data set traduce esos datos y ya

los hace visibles en .net bueno y se dice rrelenar por que para pasar un data adpter a un

data set se ocupa una funcion del dataset llamada"fill" fill es llenar en español

Para comprender mejor este proceso, se explicará a continuación paso por paso:

1. El DataAdapter establece una conexión con el origen de los datos. En este paso

también se crean y llenan las DataTables.

2. Se realizan las operaciones necesarias sobre los datos (inserción, modificación o

eliminación) de una DataRow.

3. Se hace un llamado al método GetChanges para crear un segundo DataSet con los

datos modificados.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 17

4. Se hace un llamado al método Update del DataAdapter con el segundo DataSet

como parámetro.

5. Se hace un llamado al método Merge para sincronizar los datos del segundo

DataSet con los del original.

6. Se hace un llamado al método AcceptChanges del DataSet para aceptar los cambios

o rechazarlos con RejectChanges.

Se puede decir que trabajando de manera conjunta los DataSets y los DataAdapters se

lleva a cabo el proceso de recuperación y modificación de datos con ADO .NET.

El DataAdapter comprende las operaciones básicas en bases de datos y se realizan con

las siguientes propiedades:

SelectCommand: Recupera filas del origen de datos (SELECT).

InsertCommand: Crea nuevas filas. (INSERT)

UpdateCommand: Actualiza las filas modificadas en el DataSet (UPDATE).

DeleteCommand: Elimina filas en el DataSet (DELETE).

En el siguiente subtema se explicará un ejemplo utilizando DataAdapters y DataSet.

1.2.3. DataSets

DataSet es un objeto esencial para trabajar con datos desconectados (offline) mediante

ADO .NET (Gómez, 2010). Es posible imaginar al objeto DataSet, como una

representación virtual almacenada en la memoria que proporciona un modelo de

programación relacional independiente del origen de datos. Recuerda que es posible

utilizar muchos y distintos orígenes de datos como bases de datos, archivos XML, etc.

Esta representación comprende tablas relacionadas, constraints y las relaciones

existentes entre las tablas.

A continuación se enlistan los principales objetos contenidos en un DataSet:

DataTableCollection. Cada objeto DataSet, contiene una colección de cero o más

objetos DataTable los cuales representan una tabla, de tal manera que una

DataTableCollection contiene a todos los objetos DataTable.

Cada DataTable representa a una única tabla de datos residentes en memoria y contiene

a su vez los siguientes elementos:

Una colección de columnas que son representadas por la DataColumnCollection.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 18

Una ConstraintCollection que almacena un conjunto de restricciones de operación

sobre la tabla.

Una DataRowCollection que contiene los datos de la tabla. Es muy importante

mencionar que cada DataRow conserva sus estados actual y original para detectar

los cambios efectuados a manera de control de cambios.

DataViews. Por medio de un DataView es posible presentar la información almacenada

en un DataTable de diferentes maneras o vistas. Esto es muy útil debido a que cada

usuario o consumidor tiene diferentes necesidades para leer los datos mediante filtros u

ordenaciones.

DataRelationCollection. El objeto DataRelationCollection contiene a su vez objetos

DataRelation que representan relaciones entre las filas de un DataTable con otro

DataTable. Esto se logra debido a que cada DataRelation es capaz de identificar las

columnas coincidentes en dos tablas de un DataSet.

ExtendedProperties. Es una PropertyCollection donde se puede almacenar información

personalizada como las instrucciones SELECT que han generado el conjunto de datos o

la hora en la que se generaron esos datos.

Modelo de Objetos de un DataSet

Datasets de ADO.NET (MSDN, 2013 b).

Implementación de un DataAdapter y un DataSet

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 19

1. Dim dst as New DataSet

2. Dim strConn As String=”data source=localhost; initial catalog=dbAlumnos;”

3. Dim da As New SqlClient.SqlDataAdapter(“Select * From tbAlumnos”, strConn)

4. da.Fill(dst)

Análisis del código

1. Se declara una variable para el DataSet (dst):

Dim dst as New DataSet

2. Se declara la variable que almacenara la cadena de conexión y establecemos su

conexión, en esta variable el data source es la dirección IP donde se encuentra la base de

datos (recuerda que si la base de datos está localmente se escribe localhost o la dirección

IP 127.0.0.1), y el initial catalog se refiere al nombre de la base de datos a la cual

deseas conectarte, en este ejemplo se desea conectarse a una base de datos llamada

“Alumnos”, dbAlumnos:

Dim strConn As String=”data source=localhost; initial catalog=dbAlumnos;”

3. Se implementa el DataAdapter conectando a la base de datos y cargando los datos:

Dim da As New SqlClient.SqlDataAdapter(“Select * From tbAlumnos”, strConn)

4. Se carga el DataSet (dst) con los datos consumidos por el DataAdapter (da):

da.Fill(dst)

El resultado de este ejemplo sino no muestra el compilador del programa que ocupes para

desarrollar en Visual Basic alguna excepción, es la conexión correcta a la base de datos a

la cual te estas conectando que en este caso es la dbAlumnos.

En este tema se expuso la forma en la que es posible trabajar con conexiones a orígenes

de datos de manera offline, para después sincronizar y actualizar uno o varios orígenes

de datos. Se puede decir a manera de conclusión que los DataAdapters son el

complemento de los DataSets pues el uno depende directamente del otro para efectuar

su labor.

En este tema se desarrollaron varios conceptos básicos del acceso a datos en .NET pues

gracias a los DataSets y los diferentes objetos que lo conforman, es posible recuperar

información de un cierto origen de datos y presentarla para su gestión.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 20

Es importante mencionar también que ADO .NET es 100% compatible con XML, por esta

razón es posible llenar un DataSet a través de XML. La información que se cargue con

XML al DataSet será capaz de combinarse con otros datos ya cargados en el mismo.

Actividad 1. Acceso a datos

El propósito de esta actividad es identificar situaciones en las que se requiere implementar una aplicación .NET con acceso a bases de datos, para ello ingresa al foro y sigue estos pasos:

1. Analiza los objetos de conexión de .NET: ADO, ADO DB, DataReader,

DataAdapter y DataSet.

2. Investiga o reflexiona sobre algunos casos de uso de los objetos de conexión,

un problema que pueda ayudar a resolver, una oportunidad de mejora mediante el empleo de la tecnología NET, considerando el desarrollo de la aplicación (C# o VB .NET) y las tecnologías .NET de acceso a datos: ADO, ADO DB, DataSet, DataReader y DataAdapter.

3. Ingresa al foro y desarrolla el siguiente planteamiento:

¿Qué procesos pueden ser optimizados mediante el empleo de una aplicación de escritorio desarrollada con la tecnología .NET y su conexión a una base de datos?

4. Complementa tu respuesta mencionando un ejemplo de la vida real en el que

hayas identificado una oportunidad de mejora, resolución de problema o necesidad que se puede cubrir empleando la tecnología .NET, considerando el desarrollo de la aplicación (C# o VB .NET) y las tecnologías .NET de acceso a datos: ADO, ADO DB, DataSet, DataReader y DataAdapter.

5. Revisa y comenta la participación de al menos 2 compañeros(as), respecto a la

pertinencia de los ejemplos, y sobre tus propias experiencias, conocimiento; así como la aportación que te dejan sus participaciones en el foro.

6. Con base en las aportaciones de tus compañeros(as), elabora conclusiones e intégralas en el foro mediante una segunda participación.

*Consulta la rúbrica para elaborar esta actividad que encontrarás en el archivo Criterios

de evaluación de actividades de la Unidad 1 para conocer los parámetros de evaluación

de esta actividad.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 21

1.3. Análisis de requerimientos

Habla sobre requerimientos en el marco de la conexión mediante .NET, se refiere a los

requerimientos que hace el cliente para la elaboración de un proyecto de desarrollo de

software sobre el diseño y modelado de una base de datos, en el caso del tema de esta

asignatura. Esto es muy importante ya que para llevar a cabo una conexión desde .NET

se requiere antes que nada tener creada la base de datos a la cual se va a realiza la

conexión y conocer el motor de base de datos para saber qué tecnología de conexión de

.NET se va a utilizar.

En el transcurso de esta asignatura, desarrollarás una aplicación donde se maneje el

acceso a los datos mediante los diferentes conceptos que aprendiste en esta unidad y el

lenguaje de programación Visual Basic .NET, al finalizar tu proyecto, podrás implementar

una aplicación de escritorio que pueda interactuar con información almacenada en una

base de datos, utilizando los diferentes recursos de desarrollo de software que

proporciona la tecnología .NET.

En este proyecto, vas a cubrir los requerimientos de una organización que incluye

procesos que ayudarás a mejorar con tu aplicación y que son la base de todo sistema de

información: altas, bajas, cambios y consulta de información, de tal manera que este

desarrollo te servirá de mucho en tu carrera profesional pues este tipo de procesos son

muy comunes en el desarrollo de software.

1.3.1 Análisis del caso de estudio

Como se mencionó anteriormente, para realizar una conexión, el primer paso es crear la

base de datos para poder lograr la conexión desde .NET. En este capítulo se ilustrará con

un ejemplo la forma en que se analizan y exponen los requerimientos de conexión

mediante .NET.

Se requiere cubrir los requerimientos de la organización “Almacenes Cozumel”, quienes

se dedican a la venta de artículos para el hogar y ropa. Los procesos que se requieren

mejorar en relación con aplicaciones de software giran en torno a las actividades: altas,

bajas, cambios y consulta de información.

La organización “Almacenes Cozumel” requiere el desarrollo de una aplicación de

escritorio que les permita conocer la información actualizada de su directorio de

proveedores.

El requerimiento comprende los siguientes procesos:

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 22

1. Dar de alta a sus proveedores almacenando la siguiente información por cada uno:

Nombre de la empresa

Razón Social

RFC

Nombre completo del contacto o ejecutivo

Correo electrónico

Página Web

Teléfono

Dirección (Calle, número, colonia, delegación o municipio, estado, país)

Servicios (muebles, electrónica, línea blanca, ropa mujer, ropa hombre, deportes)

2. Mostrar un listado con los proveedores en el que se indique el nombre de la empresa,

teléfono, correo electrónico y tipo de servicios que ofrece. Este listado deberá contener un

filtro que permita seleccionar únicamente a los proveedores de un cierto servicio elegido.

3. Se requiere que la aplicación permita actualizar la información de los proveedores pues

muchas veces cambian sus domicilios o datos de contacto y es muy importante contar

con un directorio actualizado.

4. Finalmente es necesario que la aplicación cuente con los mecanismos necesarios para

poder eliminar de la base de datos a algún proveedor.

En este tema se han expuesto los puntos principales del requerimiento de los “Almacenes

Cozumel” mismos que vas a desarrollar a lo largo del curso hasta crear una aplicación

que los pueda cubrir al 100%.

El primer paso consiste en analizar los requerimientos antes expuestos y diseñar una

propuesta de solución a los mismos que incluya una base de datos relacional.

Actividad 2. Tecnologías de acceso a datos mediante .NET

Esta actividad tiene como propósito que identifiques los conceptos fundamentales de la

conexión de una aplicación .NET y una base de datos así como las diferencias entre

las tecnologías de acceso a datos soportadas por ADO.NET. Para ello, tu Facilitador

(a) te hará llegar planteamientos, una vez que los recibas, realiza los siguientes pasos:

1. Analiza e identifica los diferentes motores de base de datos que se utilizan en

el desarrollo del software que se encuentra en el planteamiento del problema.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 23

2. Realiza una tabla que contenga 3 columnas. En la primera de ellas escribirás el

proveedor de datos de ADO.NET, en la segunda pondrás el nombre del motor

de base de datos y en la tercera columna poner el catálogo al que corresponde

según el planteamiento del problema proporcionado por tu Facilitador(a).

3. Explica cuál es la importancia de utilizar la tecnología de .NET para realizar el

acceso a datos en el planteamiento del problema.

4. Guarda la actividad con el nombre DPRN3_U1_A1_XXYZ. Sustituye las XX por

las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z

por tu segundo apellido y envía el archivo a tu Facilitador(a) para recibir

retroalimentación mediante la herramienta Tarea.

*Consulta la rúbrica para elaborar esta actividad que encontrarás en el archivo Criterios

de evaluación de actividades de la Unidad 1 para conocer los parámetros de

evaluación de esta actividad.

1.3.2 Diseño de base de datos relacional

Una base de datos relacional es el modelo más utilizado en la actualidad, permite

establecer interconexiones(relaciones), entre los datos que están almacenados en las

tablas y a través de dichas conexiones, relacionar los datos de ambas tablas (Cabello,

2002).

En una base de datos no puede haber tablas individuales, todas ellas deben tener

relación, para llevar a cabo esta relación debes tener en cuenta lo que es una llave

primaria (primary key sus siglas son PK) y una llave foránea(foreign key sus siglas son

FK), estos términos los viste en tus materias de base de datos.

Como ejemplo se explicarán 2 tablas, la primera de ellas se llamará País la cual

contendrá los siguientes campos:

Clave_pais

Nombre_pais

La segunda tabla tendrá por nombre Estado y tendrá los siguientes campos:

Clave_estado

Nombre_estado

Cada tabla tendrá su propia llave primaria en el caso de país será Clave_pais y para

estado será Clave_estado. Para llevar a cabo la relación entre estas dos tablas debes

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 24

tener en cuenta que un Estado pertenece a un país, por lo tanto país le hereda su llave

primaria a la tabla Estado, cuando se hace esto la llave primaria o PK que se hereda se

asigna como campo a la otra tabla, se respeta el mismo nombre que sería Clave pais y

pasa a ser su llave foránea o FK, con esto estarás haciendo una relación entre dos tablas

y visualmente se vería como en la siguiente figura:

Figura relación de tablas de base de datos (Modelo relacional)

Como se mencionó en el capítulo 1.3 en el transcurso de esta asignatura, desarrollarás

una aplicación donde se maneje el acceso a los datos. Entonces para que se lleve a cabo

la conexión entre .NET y estos datos, es necesario en primer lugar crear una base de

datos.

Siguiendo el subtema 1.3.1. Análisis del caso de estudio, para el caso de proveedores se

requiere contar con la siguiente información:

- Nombre de la empresa

- Razón Social

- RFC

- Nombre completo del contacto o ejecutivo

- Correo electrónico

- Página Web

- Teléfono

- Dirección (Calle, número, colonia, delegación o municipio, estado, país)

- Servicios (muebles, electrónica, línea blanca, ropa mujer, ropa hombre, deportes)

Para ello se deberá realizar una tabla llamada proveedores y la información solicitada en

los requerimientos pasará a ser un campo de la tabla proveedores la cual quedaría de la

siguiente manera:

PROVEEDORES

Clave_proveedor PK

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 25

razon_social

rfc

nombre_contacto

correo_electronico

pagina_web

telefono

direccion

servicios

En código de MySQL que es el motor de base de datos que ocuparás para crear la base

de datos y hacer la conexión con .NET seria el siguiente:

CREATE TABLE `proveedores` (

`clave_proveedor` SMALLINT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

`razon_social` VARCHAR( 10 ) NULL ,

`rfc` VARCHAR( 10 ) NULL ,

`nombre_contacto` VARCHAR( 50 ) NULL ,

`correo_electronico` VARCHAR( 50 ) NULL ,

`pagina_web` VARCHAR( 100 ) NULL ,

`telefono` VARCHAR( 10 ) NULL ,

`direccion` VARCHAR( 30 ) NULL ,

`servicios` VARCHAR( 100 ) NULL

)

En conclusión con esta tabla podrás realizar ya los requerimientos que se te soliciten en

un caso. Debes tomar en cuenta que muchos términos que se vieron en este subtema los

viste en tus materias de Administración y Diseño de bases de datos, en este apartado se

expone el ejemplo para que observes la forma de crear tu base de datos y tus tablas y

puedas realizar la conexión con .NET.

Evidencia de aprendizaje. Conexión con bases de datos en .NET

Identificar, mediante un problema planteado, los requerimientos de diseño de una base

de datos e implementarlo en MySQL, desarrollando un programa con VB.NET que

realice una conexión exitosa a una base de datos MySQL.

Para ello, tu Facilitador(a) te hará llegar un planteamiento, una vez que lo recibas sigue

estos pasos:

1. Crea el modelo relacional de la base de datos que se describe en el

planteamiento del problema y guárdalo en un archivo de texto.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 26

2. Genera el script (código) de base de datos MySQL con las tablas que se

solicitan y guárdalo en un archivo de Bloc de notas o Word.

3. Crea un script(código) de conexión Visual Basic .NET mediante la

implementación de un DataAdapter y un DataSet, a la base de datos que se te

indica en el planteamiento del problema, este script debes guárdalo en un

archivo de texto o bloc de notas y debe cumplir los siguientes requisitos:

Crear una variables de tipo string(cadena) que contenga la dirección ip y el

nombre de la base de datos a la cual te vas a conectar. Esta información se

menciona en el planteamiento del problema.

Realiza un DataAdapter con una consulta SELECT de todos los registros que

tenga la tabla correspondiente, utilizando la conexión que realizaste en el

punto anterior.

Declara una variable de tipo DataSet y cárgalo con el DataAdapter que

realizaste anteriormente.

4. Guarda la actividad con el nombre DPRN3_U1_EA_XXYZ. Sustituye las XX por

las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por

tu segundo apellido y envía el archivo a tu Facilitador(a) para recibir

retroalimentación mediante la herramienta Tarea.

*No olvides, consultar el documento EA. Criterios de evaluación U1 para conocer los

parámetros de evaluación de esta actividad.

Autoevaluación

El propósito de esta actividad es realizar un análisis del avance que has tenido para

detectar las áreas de oportunidad respecto al estudio de la primera unidad.

Para realizar la Autoevaluación, ingresa al listado de actividades en el aula.

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 27

Autorreflexiones

Además de enviar tu trabajo de la Evidencia de aprendizaje, ingresa al foro Preguntas

de Autorreflexión y consulta las preguntas que tu Facilitador(a) presente, a partir de

ellas elabora tu Autorreflexión en un archivo de texto llamado DPRN3_U1_ATR_XXYZ.

Posteriormente envía tu archivo mediante la herramienta Autorreflexiones.

Cierre de la unidad

Durante el desarrollo de esta unidad conociste uno de los pasos fundamentales en el

proceso de desarrollo de software, que es establecer una conexión con un origen de

datos y realizar modificaciones sobre la información almacenada en él.

En esta unidad se expusieron las bases necesarias para poder avanzar en las siguientes

unidades hacia el desarrollo de un proyecto, debido a que con los temas vistos ya podrás

vincular tus aplicaciones desarrolladas con .NET y una base de datos. Recuerda que la

mejor manera de aprender y comprender estos temas es practicar.

Vuelve a repasar la información de esta unidad 1 Conexión con bases de datos y practica

la programación de archivos de conexión, esto te ayudará a comprender mejor la

importancia de esta primera unidad y te facilitará la aplicación de estos conocimientos

para mejorar tus habilidades en el desarrollo de software y en la utilización de estos

recursos de conexión mediante .NET.

Para saber más

Sitio de MSDN. Microsoft cuenta con un excelente centro de recursos para

desarrolladores, se trata del Microsoft Developer Network (MSDN) y está disponible en el

siguiente sitio web: http://msdn.microsoft.com/es-es/

El sitio de MSDN comprende documentación técnica, ejemplos de código, foros,

descargas y otros recursos que seguramente te serán de mucha utilidad en el desarrollo

de tus aplicaciones. El siguiente acceso se refiere exclusivamente a contenidos .NET

http://social.msdn.microsoft.com/Search/es-ES?query=.net&ac=4

Programación .Net III

Unidad 1. Conexión con bases de datos en .NET

Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 28

Es muy recomendable que consultes este centro de recursos debido a que es publicado

por la misma compañía que desarrollo la tecnología .NET y aquí podrás encontrar lo

último en información relacionada a Visual Basic .NET.

El sitio de MYSQL Dev. Al igual que Microsoft, MySQL ofrece también el sitio web

Developer Zone, donde encontrarás los mejores recursos e información sobre este

manejador. https://dev.mysql.com/

Fuentes de consulta

Durán, Luis (2007). Bases de Datos con Visual Basic. España: Marcombo,

Ediciones Técnicas.

Gómez J., Enrique (2010). Aplicaciones con Visual Basic .NET. México:

Alfaomega.

Groussard, Thierry (2006). Visual Basic 2005. Paris: ENI.

MSDN, Microsoft Developer Network (2013 a). Consumidores y proveedores OLE

DB. [En línea] http://msdn.microsoft.com/es-

mx/library/bdf2dfw6%28v=vs.90%29.aspx

MSDN, Microsoft Developer Network (2013 b). Datasets de ADO.NET. [En línea]

http://msdn.microsoft.com/es-es/library/zb0sdh0b.aspx

MSDN, Microsoft Developer Network (2013 c). Microsoft OLE DB. [En línea]

http://msdn.microsoft.com/en-

us/library/windows/desktop/ms722784%28v=vs.85%29.aspx

MSDN, Microsoft Developer Network (2013 d). Referencia de Microsoft ActiveX

Data Objects (Traducción automática). [En línea] http://msdn.microsoft.com/es-

mx/library/bdf2dfw6%28v=vs.90%29.aspx

MSDN, Microsoft Developer Network (2013 e). Universal Data Access.

http://msdn.microsoft.com/es-es/library/aa260803%28v=vs.60%29.aspx

Ramírez, José F., (2005). Aprenda Practicando Visual Basic 2005 usando Visual

Studio 2005. México: Pearson Educación.