ACCESO A DATOS DESDE VB.NET

Documentos relacionados
1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas.

Acceso a Datos. Visual Basic.NET 2005

Visual Basic.NET : Acceso a Datos

Día 2: Utilizando controles de datos en Visual Studio 2008.

Visual Basic.net Completo

VISUAL BASIC.NET. NIVEL COMPLETO

Bases de Datos. Diseño y Programación Avanzada de Aplicaciones. Curso

Bases de Datos en VB.Net. El control Datagrid, Relaciones y Vistas.1

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

Prof. Giovanni Francisco Sáenz Araica.

Bases de Datos en VB.Net

Visual Basic y.net: Procedimientos Sub y funciones Function. Parámetros. Organizar programas en módulos. (CU00338A)

I.- Objetivo. II.- Introducción

Jornadas sobre Gnu/Linex: Uso de Software Libre en las Administraciones públicas. Sonia Pizarro Redondo

Objetivos y Temario CURSO VISUAL BASIC 2010

ACCESS: PRÓLOGO ACCESS EJERCICIO PRÓLOGO ESTRUCTURA DE UNA BASE DE DATOS: TABLAS, CONSUL- TAS, FORMULARIOS E INFORMES

ADO.NET con Base de datos SQL Server

UNIDAD 2: Bases de Datos en Visual Basic

1

Ejemplos de uso de forms, labels, inputbox y msgbox en Visual Basic. (CU00332A)

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

CREACIÓN DE UN WEB SERVICE CON ACCESO A SQL SERVER 2000

Anexo Nº 11 MANUAL DE INSTALACIÓN

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

MICROSOFT ACCESS 2007 (COMPLETO)

Visual Basic: procedimientos Sub y funciones Function. Tipos de parámetros y tipos de retorno. Ejemplos (CU00340A)

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

3. CREAR FORMULARIOS 3.2. APLICAR OPCIONES DE DISEÑO DE FORMULARIOS

Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)

ADO.NET. En este artículo vamos a ver el protocolo de acceso a datos en la plataforma.net, ADO.NET y su marco de funcionamiento con ASP.NET.

GUÍA DE TRABAJO GRADO 11 Programación de. Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

INFORMÁTICA Y COMUNICACIONES

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER

1. crear la base de datos BANCO, dentro de ella crear las siguientes tablas y establecer la siguiente relación.

CORPORACION UNIVERSITARIA AUTONOMA DEL CAUCA PROGRAMA DE INGENIERIA DE SISTEMAS

12. Acceso a Bases de Datos con VB.NET

UNIVERSIDAD LIBRE DE COLOMBIA ELECTIVA IV VISUAL BASIC GUIA No. 1

Mecanismos de acceso a datos usando ADO.NET

Programació amb C#.NET

Acceso a Datos con ADO.NET

MANUAL DE ACCESO A DATOS CON VB.NET PRIMERA PARTE

TRABAJAR OBRAS COMO TALLER MECÁNICO

GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

Existe otra forma de manejar datos más reciente denominado ADO.

Índice de contenidos Iniciación a VB.NET Bases de Datos

Importación de Datos

USO DEL SERVIDOR ESCUELA

Tema: Conexión a Base de Datos.

Creación y manejo de la base de datos y tablas

1. Creamos un nuevo proyecto del tipo Aplicaciones de Windows Forms (Visual C#) en Visual Studio.

Manual de Instrucciones para el uso con un ordenador

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

MANUAL DE INGRESO AL OFFICE 365

INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR MCAFEE Guía paso a paso

Escala San Martín. InstruccIones para la aplicación InformátIca. Evaluación de la Calidad de Vida de Personas con Discapacidades Significativas

Al entrar en Excel nos aparecerá la siguiente ventana:

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

CAPÍTULO 1. Conceptos Básicos CAPÍTULO 2. Interfaz de Access Ejecutar el programa... 14

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

GALA. ADO Modo Conectado. Modelo de Base de Datos Relacional. m018a Curso Manejo de Datos con Visual Basic 2010, 24 h

Qué ofrece Autentia Real Business Solutions S.L?

Tema 1. Introducción a OpenOffice Writer

Centro de Bachillerato Tecnológico. Manual de prácticas. Visual Basic 6.0. Nivel Básico. Industrial y de servicios No. 231.

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

APLICACIÓN EN VISUAL BASIC.NET 2010 CON BASE DE DATOS EN ACCESS 2010

Manual Lector Ges2S Rumitag (Versión 5.0.7)

Introducción. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

ADO.NET. Contenido. Transición a ADO.NET. Introducción a ADO.NET. Limites de ADO

PROGRAMACIÓN VISUAL III (Power Builder)

Base de Datos. Formularios. Consultas

Objetos OLE 1. IMAGEN DE FONDO

Acceso a base de datos SQLite desde Gambas

En esta lección vamos a ver más utilidades y opciones sobre la

Configuración de Procedimientos en SQL. Introducción

Cómo administrar una base de datos?

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Informes

Para entornos con más de un equipo conectados en red es necesario que el programa de firewall conceda paso a los servicios de Microsoft SQL Server.

Ejecuta el modo XP sin virtualización de hardware

Uso de Menú en Visual Basic Studio.NET Implementación de Menú con Crystal Report en Studio.Net Prof. Giovanni Francisco Sáenz Araica.

Aplicativos: Cómo se realiza la descarga e instalación de Aplicativos AFIP?

Acceso a Base de Datos

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

ANEXO I PROGRAMA FORMATIVO

TEMA 6. ARQUITECTURA DE ADO.NET 6.1. INTRODUCCIÓN A ADO.NET

MANUAL DE INSTRUCCIONES PARA LA SOLICITUD DE AYUDAS

El lenguaje Visual Basic 2008

Desarrollo de aplicaciones de acceso a base de datos con JBuilder 7

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

Manejo de Bases de Datos Mysql en Lenguaje C

Transcripción:

ACCESO A DATOS DESDE VB.NET 1. INTRODUCION: Las aplicaciones de acceso a datos, forman casi de forma habitual, parte de una aplicación Windows estándar. Sin lugar a dudas, en muchas ocasiones, nos resultará imprescindible acceder a fuentes de datos. En esta sesión, veremos como acceder a fuentes de datos de forma sencilla, desde nuestro entorno de desarrollo. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas. Oracle SQL Server Access Las que se puedan acceder a través de ODBC. 2. ADO.NET Si conoce el desarrollo de aplicaciones con versiones anteriores de Visual Basic a la tecnología.net, entonces le sonará algunos aspectos entre otros como ADO, DAO. Visual Basic 2005 por su lado, ha visto de cerca el nacimiento de ADO.NET. Sin embargo, no es recomendable comparar ADO.NET con los anteriores métodos de conexión a fuentes de datos. Nos centraremos en la forma de conectar de Visual Basic 2005 con fuentes de datos a través de ADO.NET 2.0. ADO.NET es por lo tanto, un conjunto de clases que nos permiten leer e interactuar con fuentes de datos almacenadas en bases de datos y otras fuentes de almacenamiento de datos. Estas clases de ADO.NET, las encontraremos dentro de System.Data. Entre todas las clases de este nombre de espacio, destacaremos la clase DataView, DataSet y DataTable. Si usted sabe, conoce o ha trabajado con RecordSet en anteriores versiones de Visual Basic, debe saber que ahora, podremos hacer lo mismo con los objetos DataSet y DataReader. Pero sobre todo, algo que destaca a ADO.NET sobre otros métodos de acceso, es que nos permite el desarrollo de aplicaciones en n-capas. Todo esto, unido a la posibilidad de trabajar con estándares como documentos XML, nos proporciona una intercomunicación entre entornos y dispositivos que está asegurada. Aún y así, existe otro detalle a tener en cuenta a la hora de trabajar con fuentes de datos junto a las clases y objetos de la tecnología.net, y es que podemos trabajar con fuentes de datos conectadas o fuentes de datos desconectadas. La diferencia entre ellas, es la que veremos de forma breve a continuación. Acceso conectado o acceso desconectado? Cuando trabajamos con fuentes de datos dentro de la tecnología.net, podemos trabajar con fuentes de datos conectadas o fuentes de datos desconectadas. La diferencia entre ambos métodos de conexión es clara. Por un lado, el trabajo con fuentes de datos conectadas, requiere que exista un canal de comunicación existente entre la aplicación y la fuente de datos en todo momento. De esta manera, la conectividad con la aplicación, la apertura de la conexión, etc., que es la tarea más pesada en la comunicación de una aplicación con una fuente de datos, permanece abierta mientras se trabaja con la fuente de datos, estemos en un instante dado manipulando datos de la fuente de datos o no. Por decirlo de otra forma, la puerta de acceso la hemos dejado abierta y pasaremos de una habitación a otra y viceversa cuando queramos. Por otro lado, el trabajo con fuentes de datos desconectadas, requiere que cuando se accede a la base de datos, se recoja no sólo una copia de los datos con los que vamos a trabajar, sino que además se almacene una copia de la estructura de la tabla o tablas que hemos decidido descargar y otros datos relacionados con las tablas. En sí, es una copia exacta o una foto exacta de los datos de la tabla o tablas ~ 1 ~ Ing. Henry M. Arévalo Flores

y de todas las características de la tabla o tablas. Por lo tanto, se abre un canal de comunicación, se recogen los datos para trabajar con ellos y se cierra nuevamente el canal de comunicación. Esos datos se almacenan en memoria, y se trabaja por lo tanto, con los datos de memoria, no con la fuente de datos directamente como en el caso anterior dónde trabajábamos con fuentes de datos conectadas. La única particularidad a tener en cuenta en este último caso, es que como lógicamente haremos una copia de la estructura, propiedades, características y datos de la tabla o tablas con las que queremos trabajar de forma desconectada, no es muy recomendable por no decir totalmente prohibido, hacer una copia de cualquier tabla, ya que podemos sobrecargar la aplicación y afectar considerablemente en el rendimiento de ésta. 3. LAS CLASES. Cada base de datos dispone de una clase especializada en el manejo de la misma. Oracle OracleClient SQL SQLClient Access OleDb Odbc ODBC Genérico DB Y estas clases están disponibles en el espacio de nombres System.Data. Como vamos a centrarnos en SQL, la clase que utilizaremos será SQLClient. 4. LOS OBJETOS. Podemos clasificarlos o agruparlos en Conexión. Almacenamiento. Visualización. Otros. Imports System.Data.SqlClient 3.1. Conexión. El objeto de conexión en SQL Server es el SqlConnection. Permite definir los datos necesarios para acceder a cada tipo de base de datos. Otro objeto de conexión, es el DataAdapter. Este objeto permite realizar el acceso a la base de datos para el intercambio de información en los dos sentidos, digamos que gestiona los datos entre la base de datos y la aplicación a partir de los datos facilitados en la conexión. Pertenece a Imports System.Data.Odbc.OdbcDataAdapter. Cada objeto de almacenamiento debe tener un objeto DataAdapter asignado, pues es el que a través del cual puede hacerse luego el proceso de actualización. 3.2. Almacenamiento. Los objetos de almacenamiento son: DataReader System.Data.Odbc.OdbcDataReader El objeto DataReader es un objeto ágil y que esta especializado en almacenar datos para solo lectura, lo que le quita la gestión de las actualizaciones y le permite ser más rápido en los accesos a los datos de la base de datos. DataTable System.Data.DataTable El objeto DataTable, es lo más parecido a una tabla de la base de datos, dispone de la posibilidad de definir clave primaria de uno o varios campos. El DataTable puede ser la imagen de una tabla de la base de datos, o puede ser el resultado de una SQL que combine varias tablas en la SQL, o tabla virtual si queremos llamarla así. Este objeto en el uso del DataSet es usado como parte del DataSet. DataSet System.Data.DataSet El objeto DataSet es lo que hemos dado en llamar antes un subconjunto de la base de datos de nuestra aplicación. Al iniciar el programa se carga con aquellos datos que sean necesarios para el ~ 2 ~ Ing. Henry M. Arévalo Flores

mismo, se cierra la conexión y luego se realiza la actualización de los datos en la base de datos con los cambios que haya habido en el programa. DataRow System.Data.DataRow El objeto DataRow, lo hemos incorporado como elemento de almacenamiento, aunque hace referencia a una fila, registro de la base de datos, porque hemos comprobado lo útil que llega a ser el uso del mismo, y al fin y al cabo almacena datos, un registro, pero datos. 3.3. Visualización. Los objetos de visualización puede ser cualquiera de los que tenemos disponibles en el entorno de programación. Lo importante aquí es como utilizarlos a la hora de visualizar los datos de nuestra fuente de almacenamiento. Podríamos hablar de dos posibilidades. Asignación clásica de los datos, o enlazarlos a nuestra fuente de datos. Las dos son válidas evidentemente, pero hay que ver la practicidad. El enlazado de un DataDrid a nuestro DataTable es comodísimo, pues se encarga de representar los datos que vamos incluyendo en la tabla, sea la origen o una virtual. El enlazado de un TextBox a un objeto crea el mismo código que hacer una asignación manual o clásica. La clase DataView, por otro lado, nos permite crear múltiples vistas de nuestros datos para presentar los datos de su correspondiente DataTable posteriormente. Adicionalmente a esto, también podemos ordenar y filtrar los datos, buscar y navegar un conjunto de datos dado, etc. 4.4. Otros. Estos objetos pueden ser: BindingSource CommandBuilder Command BindingSource, este objeto es el que hace de puente entre aquellos objetos que no disponen de la propiedad DataSource y el objeto fuente de los datos. CommandBuilder, genera de forma automática código SQL para las opciones Insert, Update y Delete, tanto para el uso normal, como para cuando se utiliza el DataAdapter en el entorno de un DataSet. Command, sirve para indicar, almacenar y ejecutar cuando proceda, la instrucción SQl, sea almacenada o incrustada, para un objeto DataReader o DataAdapter. Tiene dos formatos de utilización, ExecuteNonQuery se ejecuta y no devuelve datos, borrado por ejemplo. ExecuteReader se ejecuta y devuelve una colección de datos que se asignan a un objeto. ~ 3 ~ Ing. Henry M. Arévalo Flores

Crear un nuevo proyecto: Y lo guardamos en una carpeta de trabajo: Y agregamos un modulo para crear la cadena de conexión: En la parte donde se encuentra el nombre del server debe de ir el nombre de tu servidor de base de datos. ~ 4 ~ Ing. Henry M. Arévalo Flores

Diseñar el siguiente Menú Principal, recuerde que el formulario debe de ser un contenedor MDI. Opciones del Menú Mantenimiento. Adjunte la Base de Datos que se encuentra guardado en su carpeta de trabajo. ~ 5 ~ Ing. Henry M. Arévalo Flores

DISEÑO DE INTERFAZ PROPUESTA Formulario que permitirá el mantenimiento de la tabla Alumno. Nombre: cbosexo Items: - Masculino - Femenino txtcodigo txtapellidos txtnombres dtfecha Format: short txtdireccion txtemail btnprimero btnanterior btnsiguiente btnultimo btnbuscar btnnuevo btneditar btnguardar btndeshacer btneliminar dtgalumno ~ 6 ~ Ing. Henry M. Arévalo Flores

CÓDIGO PARA CONECTAR EL FORMULARIO A LA TABLA ALUMNO 'importamos el SqlClient Imports System.Data.SqlClient Public Class FrmAlumno 'DECLARAMOS LAS VARIABLES Dim conn As New SqlConnection Dim objdataadapter As SqlDataAdapter Dim objdataset As DataSet Public posicion, flag As Integer 'CREAMOS LOS PROCEDMIENTOS Crear los siguientes Procedimientos Private Sub conexion() 'crear la cadena de conexion conn.connectionstring = cadena 'crear el dataadapter Me.objDataAdapter = New SqlDataAdapter("SELECT * FROM ALUMNO", conn) 'genera de forma automática código SQL para las opciones Insert, Update y Delete() Dim comandbuilder As SqlCommandBuilder = New SqlCommandBuilder(objDataAdapter) 'instanciar el dataset objdataset = New DataSet() 'abrir conexion conn.open() 'agrega las filas al dataset recuperadas desde la tabla Me.objDataAdapter.Fill(objDataSet, "ALUMNO") 'cierra la conexion conn.close() 'indica la posicion actual del registro posicion = 0 'llamar el procedimiento Me.cargadatos() Private Sub cargadatos() 'obtener un objeto con la fila actual Dim fila As DataRow 'obtener fila actual 'obtener la fila actual fila = Me.objDataSet.Tables("ALUMNO").Rows(Me.posicion) 'PASAR CONTENIDO A LOS CAMPOS Me.txtCodigo.Text = fila("alu_codi") Me.TxtApellidos.Text = fila("alu_apel") Me.TxtNombres.Text = fila("alu_nomb") Me.cboSexo.Text = fila("alu_sexo") Me.txtDireccion.Text = fila("alu_dire") Me.txtEmail.Text = fila("alu_mail") Me.dtfecha.Value = fila("alu_fnac") 'conectar el datagridview con la tabla Me.DtgAlumno.DataSource = objdataset.tables(0) 'SELECCIONAR TODA LA FILA del datagridview With dtgalumno.multiselect = False.SelectionMode = DataGridViewSelectionMode.FullRowSelect End With 'Asignar el estilo del DatagridView Me.dtgAlumno.Font = _ New Drawing.Font("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point) 'RELACIONAR REGISTRO CON DATAGRIDVIEW dtgalumno.rows(posicion).selected = True dtgalumno.rows(posicion).cells(0).selected = True 'Cambiando de Nombre a los encabezados de las columnas dtgalumno.columns("alu_codi").headertext = "Código" dtgalumno.columns("alu_apel").headertext = "Apellidos" dtgalumno.columns("alu_nomb").headertext = "Nombres" dtgalumno.columns("alu_sexo").headertext = "Sexo" dtgalumno.columns("alu_dire").headertext = "Dirección" dtgalumno.columns("alu_fnac").headertext = "Fecha Nac" dtgalumno.columns("alu_mail").headertext = "Correo Electronico" 'estableciendo el ancho de las columnas dtgalumno.columns("alu_codi").width = 40 dtgalumno.columns("alu_apel").width = 80 ~ 7 ~ Ing. Henry M. Arévalo Flores

Sub dtgalumno.columns("alu_nomb").width = 80 dtgalumno.columns("alu_sexo").width = 30 dtgalumno.columns("alu_dire").width = 80 dtgalumno.columns("alu_fnac").width = 40 dtgalumno.columns("alu_mail").width = 80 End llamamos al procedimiento conexion()desde el evento Load del Formulario Private Sub FrmAlumno_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load conexion() CODIGO PARA LOS BOTONES DE DESPLAZAMIENTO Private Sub btnprimero_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnprimero.click Me.posicion = 0 Me.cargadatos() Private Sub btnanterior_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnanterior.click 'si estamos en el ultimo registro no hacer movimiento If Me.posicion = 0 Then MessageBox.Show("Primer Registro") Else 'incrementar el marcador de registro y actualizar los controladores con lños datos del registro actual Me.posicion -= 1 Me.cargadatos() End If Private Sub btnsiguiente_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnsiguiente.click 'si estamos en el ultimo registro no hacer movimiento If Me.posicion = (Me.objDataSet.Tables("ALUMNO").Rows.Count - 1) Then MessageBox.Show("Ultimo Registro") Else 'incrementar el marcador de registro y actualizar los controladores con los datos del registro actual Me.posicion += 1 Me.cargadatos() End If Private Sub btnultimo_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnultimo.click Me.posicion = (Me.objDataSet.Tables("ALUMNO").Rows.Count - 1) Me.cargadatos() ~ 8 ~ Ing. Henry M. Arévalo Flores