Programación con Visual Basic.NET. Francisco Ruiz Manuel Serrano

Documentos relacionados
Programación n con. Visual Basic.NET. 4 Interfaz de Usuario. Entrada/Salida. Desarrollo de una aplicación. Francisco Ruiz Manuel Serrano

Visual Basic.NET : Acceso a Datos

Práctica N 04. Programación Visual.NET II. 1. CREACIÓN DE FORMULARIO PARA CONSULTA DE EMPLEADOS(FrmConEmpleados.vb)

Práctica N 04: Creación de la Base de Datos

ADO.NET Desconectado.

Ing Eddy Ruiz Largaespada

Acceso a Datos. Visual Basic.NET 2005

Manipulación de imágenes con ADO.NET

VISUAL STUDIO.NET Y PUERTO SERIE

Vamos a definir ambos modos y después veremos, mediante sendos ejemplos, cómo trabajar en ellos con ADO.NET.

Visual Basic.net Completo

TEMA 7. PROVEEDORES Y CONEXIÓN A BASES DE DATOS

Visual Basic.NET Completo

INFORMATICA VISUAL BASIC 2008

Visual Basic.net Completo

Visual Basic.net. Duración: 60 horas. Modalidad: online. Contenidos

Solución propuesta. Cuadernillo de examen. Programación en VB.NET. Parte teórica

Visual Basic NET Completo

ACCESO A DATOS DESDE VB.NET

Conexión a Base de Datos.

VISUAL BASIC.NET. NIVEL COMPLETO

Interfaz de usuario. Diseño y Programación Avanzada de Aplicaciones. Curso

Crear una interfaz gráfica con Visual C#.NET de manera básica Utilizar las sentencias de DML de base de datos en Visual C#.NET

Visual Basic.NET. Programa de Estudio.

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

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

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

Controles mas habituales.

UNJBG ITEL CARRERA Técnico Analista Programador de Sistemas

UNIVERSIDAD NACIONAL DE INGENIERIA

Introducción a Visual Basic. Ing. Marglorie Colina

Visual Basic.NET : Windows Forms

CI154 DESARROLLO DE APLICACIONES DE ESCRITORIO Y ACCESO A DATOS CON.NET FRAMEWORK 5 CON C# OBJETIVOS

Soluciones propuestas

Mecanismos de acceso a datos usando ADO.NET

Utilizar bases de datos en C# Objetivo: Identificar como se utilazan las bases de datos en C#.

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

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

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

Ejercicio 1. Cuadernillo de examen: Soluciones propuestas. Parte teórica. Parte práctica. Interacción Hombre-Máquina

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

SOFTWARE II - 4 C - Prof. Sandra Corti

Formularios y menús Windows.

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

Repaso Visual Basic Interfaz Gráfica

aprenderaprogramar.com Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I)

GUÍA DE TRABAJO N 7 LENGUAJE C# Educación Media Fortalecida Programación de Software Grado 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

2403: Desarrollo de aplicaciones Windows

Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL.

Microsoft Visual Basic

LECCIÓN 1: INTRODUCCIÓN A.NET. Visual Studio 2008.NET Framework Características de CLR La biblioteca de clases.net

Profesora: Sandra Corti

GUIA DE TRABAJO CON EL EDITOR DE VISUAL BASIC DE LA FICHA PROGRAMADOR

ESPECIALISTA EN VISUAL STUDIO.NET

Indice del curso básico programación desde cero Visual Basic Nivel I (CU00302A)

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA VISUAL BASIC ASICO JAIME RUBIANO LLORENTE

Bases de Datos en VB.Net

Cuadernillo de examen: soluciones propuestas. Parte teórica. Interacción Hombre-Máquina

Utilizar los elementos básicos de la programación de interfaces gráficas de usuario para el diseño y desarrollo de programas de aplicación.

I.- Objetivo. II.- Introducción

OBJETIVO 1. DISEÑAR ALGORITMOS Y DIAGRAMAS DE FLUJOS PARA LA RESOLUCIÓN DE PROBLEMAS. OBJETIVO 2.CONOCER EL ENTORNO DE VISUAL STUDIO 2010 (VS2010)

El lenguaje Visual Basic 2008

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

Diplomado en Programación de Aplicaciones con Visual Basic.net

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

Ejercicios resueltos ejemplo de leer datos desde ficheros con Visual Basic, variables, bucles For Next y condicionales If.

DESARROLLO DE SOFTWARE

PRACTICA A: ACCESO A DATOS CON ADO.NET

Acceso a Base de Datos

Soluciones al examen PRIMERA PARTE: INTERACCIÓN HOMBRE-MÁQUINA. Cuadernillo de examen

VISUAL BASIC Archivos en Visual Basic Proyectos Archivos

Práctica 6 Operaciones aritméticas, lógicas y relacionales

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

El modelo de objetos ADO.NET. (Datos sin conexión) Proveedor de datos.net. Connection. Command Parameter. DataReader

Bases de Datos Access y C#. Insert, select, update, delete. 1. Crea una base de Datos en Access

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

Acceso a Datos ADO.NET. Laboratorio de Programación Lorena Castañeda Bueno

VB.NET y Visual Studio 2015 Los fundamentos del lenguaje

CURSO DE GAMBAS 2.0.0

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA VISUAL BASIC BASICO JAIME RUBIANO LLORENTE

Programación.NET con C#/VB.NET

OBJETIVOS ÍNDICE MÓDULO 1: VISUAL BASIC 6.0 PARTE 1ª

DIPLOMADO EN MICROSOFT VISUAL STUDIO

GUIA PRACTICA 1 VISUAL C#.Net SQL SERVER 2012 MANTENIMIENTO DE UNA TABLA

Transcripción:

Programación con Visual Basic.NET http://alarcos.inf-cr.uclm.es/per/fruiz/cur/vbn/vbn.htm 4 Interfaz de Usuario. Entrada/Salida. Desarrollo de una aplicación Francisco Ruiz Manuel Serrano Escuela Superior de Informática Universidad de Castilla-La Mancha Programación con Visual Basic.NET Contenidos sesión 4 Interfaz de Usuario Formularios. Controles. Menús. Formularios MDI. Archivos. Acceso a datos. ADO.NET Desarrollo de una aplicación. UCLM-ESI. Programación con Visual Basic.NET 3. 2 1

Formularios. Creación de un formulario (i). System.Windows.Forms Clase Form Size Location / StartPosition(Manual) BackgroundImage Icon MaximizeBox FormBorderStyle Text (Name) --error UCLM-ESI. Programación con Visual Basic.NET 3. 3 Formularios. Creación de un formulario (ii). Ver->Código (F7) UCLM-ESI. Programación con Visual Basic.NET 3. 4 2

Formularios. Eventos del formulario. Private Sub frmejemplo_mousemove(byval sender As Object, ByVal _ e As System.Windows.Forms.MouseEventArgs) Handles _ MyBase.MouseMove Me.Text = "Coordenadas ratón: X:" & e.x & " Y:" & e.y End Sub Private Sub frmejemplo_closing(byval sender As Object, ByVal _ e As System.ComponentModel.CancelEventArgs) Handles _ MyBase.Closing If MessageBox.Show(" Cerrar la ventana?", _ "Atención", MessageBoxButtons.YesNo, _ MessageBoxIcon.Hand) = DialogResult.No Then e.cancel = True End If End Sub UCLM-ESI. Programación con Visual Basic.NET 3. 5 Controles. Insertar controles en un formulario. Cuadro de herramientas. Clic sobre el control (selección). Doble clic / <Intro> (inserción). GridSize / SnapToGrid / DrawGrid Herramientas->Opciones->Diseñador de Windows Forms Formato (Alinear, Igualar tamaño, Bloquear controles ) Anchor Dock UCLM-ESI. Programación con Visual Basic.NET 3. 6 3

Controles. Controles más habituales. Button Label TextBox ListBox ComboBox CheckBox RadioButton GroupBox UCLM-ESI. Programación con Visual Basic.NET 3. 7 Controles. Controles más habituales. Button. Text TextAlign BackColor Cursor Image ImageAlign BackgroundImage FlatStyle Font Name: btnmensaje Text: Mostrar Mensaje btnmensaje_click MessageBox.Show( Has pulsado el botón del formulario ) btnmensaje_mouseenter Me.btnMensaje.BackColor = Color.Cyan btnmensaje_mouseleave Me.btnMensaje.ResetBackColor() UCLM-ESI. Programación con Visual Basic.NET 3. 8 4

Controles. Controles más habituales. Label. BorderStyle UCLM-ESI. Programación con Visual Basic.NET 3. 9 Controles. Controles más habituales. TextBox (i). Text Multiline WordWrap Enabled ReadOnly CharacterCasing MaxLength PasswordChar AutoSize UCLM-ESI. Programación con Visual Basic.NET 3. 10 5

Controles. Controles más habituales. TextBox (ii). btnfoco_click: Me.txtNombre.Focus() btnsololectura_click: If (Me.txtNombre.ReadOnly) Then Me.txtNombre.ReadOnly = False Else Me.txtNombre.ReadOnly = True End If btnactivar_click: Me.txtApellidos.Enabled = Not (Me.txtApellidos.Enabled) TabIndex (Ver->Orden de tabulación) / TabStop UCLM-ESI. Programación con Visual Basic.NET 3. 11 Controles. Controles más habituales. TextBox (iii). Copiar/Cortar/Pegar -> transparente al usuario SelectionStart SelectionLength SelectedText UCLM-ESI. Programación con Visual Basic.NET 3. 12 6

Controles. Controles más habituales. TextBox (iv). txtorigen_textchanged: Me.lblContador.Text = Me.txtOrigen.TextLength txtorigen_mousemove: If e.button.left Then Me.lblTextoSelec.Text = Me.txtOrigen.SelectedText Me.lblLongitud.Text = Me.txtOrigen.SelectionLength Me.lblPosicion.Text = Me.txtOrigen.SelectionStart End If txtorigen_keydown: If e.shift Then 'mayúsculas 'flecha derecha If e.keycode.right Then End If End If btnseleccionar_click: Me.txtPosicion.Text = Me.txtOrigen.SelectionStart Me.txtLongitud.Text = Me.txtOrigen.SelectionLength Me.txtDestino.Text = Me.txtOrigen.SelectedText UCLM-ESI. Programación con Visual Basic.NET 3. 13 Controles. Controles más habituales. RadioButton y GroupBox. rbttahoma_checkedchanged: Me.txtNombre.Font = New Font( Tahoma, 12) rbtgaramond_checkedchanged: Me.txtNombre.Font = New Font( Garamond, 8) rbtcomic_checkedchanged: Me.txtNombre.Font = New Font( Comic Sans MS, 12) rbtverde_checkedchanged: Me.txtNombre.BackColor = Color.Green rbtazul_checkedchanged: Me.txtNombre.BackColor = Color.Blue rbtamarillo_checkedchanged: Me.txtNombre.BackColor = Color.Yellow UCLM-ESI. Programación con Visual Basic.NET 3. 14 7

Controles. Controles más habituales. ListBox (i). Items Sorted IntegralHeight MultiColumn SelectionMode SelectedItem SelectedItems SelectedIndex UCLM-ESI. Programación con Visual Basic.NET 3. 15 Controles. Controles más habituales. ListBox (ii). UCLM-ESI. Programación con Visual Basic.NET 3. 16 8

Controles. Controles más habituales. ListBox (iii). Public Const TITULO As String = "Elemento seleccionado: " lstvalores_selectedindexchanged: Me.Text = TITULO & Me.lstValores.SelectedItem rbtuno_checkedchanged: Me.lstValores.SelectionMode = Selection.One rbtmultiple_checkedchanged: Me.lstValores.SelectionMode = Selection.MultiSimple rbtextendida_checkedchanged: Me.lstValores.SelectionMode = Selection.MultiExtended chkordenar_checkedchanged: Me.lstValores.Sorted = Me.chkOrdenar.Checked chkcolumnas_checkedchanged: Me.lstValores.MultiColumn = Me.chkColumnas.Checked UCLM-ESI. Programación con Visual Basic.NET 3. 17 Controles. Controles más habituales. ListBox (iv). btnagregar_click: Me.lstValores.Items.Add(Me.txtValor.Text) btnbuscar_click: Dim iposicion As Integer ' el método FindString() de la lista busca un valor iposicion = Me.lstValores.FindString(Me.txtValor.Text) ' el campo NoMatches indica si no existe el valor buscado If iposicion = Me.lstValores.NoMatches Then MessageBox.Show("No existe el valor") Else ' si encontramos el valor en la lista, ' lo seleccionamos por código Me.lstValores.SelectedIndex = iposicion End If UCLM-ESI. Programación con Visual Basic.NET 3. 18 9

Controles. Controles más habituales. ListBox (v). btnseleccod_click: Me.rbtMultiple.Checked = True Me.lstValores.SetSelected(1, True) Me.lstValores.SetSelected(3, True) Me.lstValores.SetSelected(5, True) btntraspasarselec_click: Dim oseleccion As ListBox.SelectedObjectCollection ' obtenemos con los elementos seleccionados del ListBox oseleccion = Me.lstValores.SelectedItems ' si hay elementos seleccionados, los traspasamos a otro ListBox If oseleccion.count > 0 Then Dim oenumerador As IEnumerator oenumerador = oseleccion.getenumerator() While oenumerador.movenext() Me.lstTraspaso.Items.Add(oEnumerador.Current) End While End If UCLM-ESI. Programación con Visual Basic.NET 3. 19 Controles. Controles más habituales. ListBox (vi). btnlimpiar_click: Me.lstTraspaso.Items.Clear() UCLM-ESI. Programación con Visual Basic.NET 3. 20 10

Controles. Controles más habituales. ComboBox. TextBox + ListBox DropDownStyle DropDownList MaxDropDownItems Me.cboColores.Items.AddRange(New String() {"AZUL", "VERDE", _ "AMARILLO", "ROJO", "BLANCO", "MARRÓN", "GRANATE ) UCLM-ESI. Programación con Visual Basic.NET 3. 21 Menús. MainMenu, ContextMenu (contenedores) MenuItem UCLM-ESI. Programación con Visual Basic.NET 3. 22 11

Menús. MainMenu (i). MainMenu, ContextMenu (contenedores) MenuItem Text Enabled DefaultItem Checked RadioCheck ShortCut ShowShortCut Visible MdiList & - UCLM-ESI. Programación con Visual Basic.NET 3. 23 Menús. MainMenu (ii). mnuabrir_click: MessageBox.Show("Opción Abrir") mnusalir_click: Me.Close() UCLM-ESI. Programación con Visual Basic.NET 3. 24 12

Menús. MainMenu (iii). btnhabilitar_click: Me.mnuGuardar.Enabled = Not Me.mnuGuardar.Enabled btnmarcar_click: Me.mnuPegar.Checked = Not Me.mnuPegar.Checked btnmostrar_click: Me.mnuElipse.Visible = Not Me.mnuElipse.Visible btnnombre_click: If Me.mnuAbrir.Text = "A&brir" Then Me.mnuAbrir.Text = "HO&LA" Else Me.mnuAbrir.Text = "A&brir" End If btndefecto_click: Me.mnuCopiar.DefaultItem = Not Me.mnuCopiar.DefaultItem UCLM-ESI. Programación con Visual Basic.NET 3. 25 Menús. ContextMenu. mnufuente_click: Dim ofuente As New Font( Comic, 15) Me.txtValor.Font = ofuente mnumayusculas_click: Me.txtValor.Text = Me.txtValor.Text.ToUpper() mnuminusculas_click: Me.txtValor.Text = Me.txtValor.Text.ToLower() UCLM-ESI. Programación con Visual Basic.NET 3. 26 13

Formularios MDI (Multiple Document Interface) (i). 1 Formulario MDI + n Formularios Documento. IsMDIContainer / MdiParent Imports System.IO btngrabar_click: Dim oescritor as StreamWriter oescritor = File.CreateText(Me.txtArchivo.Text) oescritor.write(me.txtcarta.text) oescritor.close() UCLM-ESI. Programación con Visual Basic.NET 3. 27 Formularios MDI (ii). tmrtiempo_tick: Dim dtfecha As Date dtfecha = DateTime.Today Dim dthora As Date dthora = DateTime.Now Me.lblFecha.Text = dtfecha.tostring("d/mmm/yyyy") Me.lblHora.Text = dthora.tostring("h:m:s") UCLM-ESI. Programación con Visual Basic.NET 3. 28 14

Formularios MDI (iii). mnucarta_click: Dim ofrmcarta As New frmcarta() ofrmcarta.mdiparent = Me ofrmcarta.show() mnuinformacion_click: Dim ofrminfo As New frminfo() ofrminfo.mdiparent = Me ofrminfo.show() UCLM-ESI. Programación con Visual Basic.NET 3. 29 Formularios MDI (iv). mnucascada_click: Me.LayoutMdi(MdiLayout.Cascade) mnuhorizontal_click: Me.LayoutMdi(MdiLayout.TileHorizontal) UCLM-ESI. Programación con Visual Basic.NET 3. 30 15

Archivos. Gestión del Sistema de Archivos. System.IO Objetos Stream TextReader / TextWriter StreamReader, StreamWriter UCLM-ESI. Programación con Visual Basic.NET 3. 31 Archivos. La clase StreamWriter Imports System.IO Module Module1 Sub Main() Dim swescritor As StreamWriter ' creamos un stream de escritura, y al mismo tiempo un ' nuevo archivo para escribir texto sobre él swescritor = New StreamWriter("\pruebas\NOTAS.txt") ' escribir líneas swescritor.writeline("esta es la primera línea") swescritor.writeline("segunda línea de texto") ' ahora escribimos texto pero sin provocar un salto de línea swescritor.write("juan y Luna ") swescritor.write("van de paseo") swescritor.write(swescritor.newline) ' esto introduce el salto de línea swescritor.writeline("con esta línea cerramos") ' cerrar el stream y el archivo asociado swescritor.close() End Sub End Module UCLM-ESI. Programación con Visual Basic.NET 3. 32 16

Archivos. La clase StreamReader (i) Dim srlector As StreamReader = New StreamReader("\pruebas\NOTAS.txt") Console.WriteLine("**Leer una primera línea**") Dim Linea As String Linea = srlector.readline() Console.WriteLine("La línea contiene --> {0}", Linea) Console.WriteLine() Console.WriteLine("**Ahora leemos el resto del archivo**") Dim Texto As String Texto = srlector.readtoend() Console.WriteLine("El texto restante contiene --> {0}", Texto) srlector.close() ' leer línea a línea mediante un bucle Dim srlector As StreamReader = New StreamReader("\pruebas\Datos.txt") Dim Linea As String Dim ContadorLin As Integer = 1 Linea = srlector.readline() Do While Not (Linea Is Nothing) Console.WriteLine("Línea: {0} - Contenido: {1}", ContadorLin, Linea) ContadorLin += 1 Linea = srlector.readline() Loop UCLM-ESI. Programación con Visual Basic.NET 3. 33 Archivos. La clase StreamReader (ii) Imports System.IO Imports System.Text Module Module1 Sub Main() Dim srlector As StreamReader = New StreamReader("\pruebas\NOTAS.txt") ' obtener valores del stream con el método Read() Dim Valor As Integer : Dim Codigos() As Byte ' volcamos en un bucle los códigos de carácter leidos desde el archivo a un array Byte Valor = srlector.read() While (Valor <> -1) ' cuando lleguemos al final, obtendremos -1 If Codigos Is Nothing Then : ReDim Codigos(0) Else : ReDim Preserve Codigos(Codigos.GetUpperBound(0) + 1) End If Codigos(Codigos.GetUpperBound(0)) = Valor Valor = srlector.read() End While Dim Codificador As New ASCIIEncoding() : Dim Parte2 As String ' con un ASCIIEncoding, y el método GetString(), obtenemos una cadena, pasando un array Bytes Parte2 = Codificador.GetString(Codigos) Console.WriteLine("Resultado:") : Console.WriteLine(Parte2) Console.ReadLine() End Sub End Module UCLM-ESI. Programación con Visual Basic.NET 3. 34 17

Archivos. La clase StreamReader (ii) ' obtener valores del stream con el método Read() Dim Valor As Integer : Dim Codigos() As Byte ' vamos a ir volcando en un bucle los códigos de carácter ' leidos desde el archivo a un array Byte Valor = srlector.read() While (Valor <> -1) ' cuando lleguemos al final, obtendremos -1 If Codigos Is Nothing Then ReDim Codigos(0) Else : ReDim Preserve Codigos(Codigos.GetUpperBound(0) + 1) End If Codigos(Codigos.GetUpperBound(0)) = Valor Valor = srlector.read() End While Dim Codificador As New ASCIIEncoding() : Dim Parte2 As String ' con el objeto ASCIIEncoding, método GetString(), ' obtenemos una cadena, pasando como parámetro un array de tipos Byte Parte2 = Codificador.GetString(Codigos) Console.WriteLine("Resultado de la lectura con ReadBlock()") Console.WriteLine(Parte2) Console.ReadLine() End Sub End Module UCLM-ESI. Programación con Visual Basic.NET 3. 35 Archivos. La clase FileStream (i) ' escrituras con Filestream Dim ofilestream As FileStream ofilestream = New FileStream("\pruebas\apuntes.dtt", FileMode.CreateNew) ofilestream.write(new Byte() {15, 160, 88, 40, 67, 24, 37, 50, 21}, 0, 6) ofilestream.writebyte(75) Console.WriteLine("Opciones en el FileStream") Console.WriteLine("Podemos leer: {0}", IIf(oFileStream.CanRead, "SI", "NO")) Console.WriteLine("Podemos escribir: {0}", IIf(oFileStream.CanWrite, "SI", "NO")) Console.WriteLine("Podemos movernos: {0}", IIf(oFileStream.CanSeek, "SI", "NO")) ofilestream.close() ofilestream = Nothing UCLM-ESI. Programación con Visual Basic.NET 3. 36 18

Archivos. La clase FileStream (ii) ' lectura con FileStream Dim ofilestream As FileStream ofilestream = New FileStream("\pruebas\apuntes.dtt", FileMode.Open) Dim Valor As Byte Valor = ofilestream.readbyte() ' obtener un valor Console.WriteLine("Se ha leido el valor: {0}", Valor) Console.WriteLine("Nos desplazamos dos bytes en el stream") ofilestream.seek(2, SeekOrigin.Begin) Valor = ofilestream.readbyte() Console.WriteLine("Se ha leido el valor: {0}", Valor) Console.WriteLine("La posición actual del stream es: {0}", _ ofilestream.position) ' leer varios valores, pasándolos a un array previamente dimensionado Dim VariosValores(3) As Byte ofilestream.read(variosvalores, 0, 4) Console.WriteLine("Leer bloque de valores del stream") Dim Enumerador As IEnumerator Enumerador = VariosValores.GetEnumerator() While Enumerador.MoveNext Console.WriteLine("Valor: {0}", Enumerador.Current) End While Console.ReadLine() UCLM-ESI. Programación con Visual Basic.NET 3. 37 Acceso a datos. ADO.NET Conjunto de interfaces, clases, estructuras y enumeraciones que permiten el acceso a datos desde la plataforma.net Permite un modo desconectado a los datos. Los datos pueden provenir de múltiples fuentes de datos y de diferentes arquitecturas de almacenamiento. Basado en XML. UCLM-ESI. Programación con Visual Basic.NET 3. 38 19

ADO.NET La clase DataSet UCLM-ESI. Programación con Visual Basic.NET 3. 39 ADO.NET Espacios de Nombres System.Data System.Data.SqlClient System.Data.OleDb System.Data.SqlTypes System.Data.Common System.Data.Internal UCLM-ESI. Programación con Visual Basic.NET 3. 40 20

ADO.NET System.Data DataSet DataTable DataRow DataColumn DataRelation Constraint DataColumnMapping DataTableMapping UCLM-ESI. Programación con Visual Basic.NET 3. 41 ADO.NET System.Data.SqlClient / System.Data.OleDb SqlCommand / OleDbCommand SqlConnection / OleDbConnection SqlCommandBuilder / OleDbCommandBuilder SqlDataReader / OleDbDataReader SqlDataAdapter / OleDbDataAdapter SqlParameter / OleDbParameter SqlTransaction / OleDbTransaction UCLM-ESI. Programación con Visual Basic.NET 3. 42 21

ADO.NET Las clases Connection Imports System.Data.SqlClient '... Try ' crear el objeto de conexión Dim oconexion As New SqlConnection() ' pasar la cadena de conexión oconexion.connectionstring = "server=(local);" & _ "database=xnorthwind;uid=sa;pwd=;" ' abrir conexión oconexion.open() MessageBox.Show("Conectado") ' cerrar conexión oconexion.close() MessageBox.Show("Desconectado") Catch oexcep As SqlException ' si se produce algún error, lo capturamos mediante el objeto ' de excepciones particular para el proveedor de SQL Server MessageBox.Show("Error al conectar con datos" & ControlChars.CrLf & _ oexcep.message & ControlChars.CrLf & oexcep.server) End Try UCLM-ESI. Programación con Visual Basic.NET 3. 43 ADO.NET Las clases Command (i) CommandText CommandTimeout CommandType Connection Parameters CreateParameter ExecuteNonQuery ExecuteReader ExecuteScalar Prepare UCLM-ESI. Programación con Visual Basic.NET 3. 44 22

ADO.NET Las clases Command (ii) ' crear conexión Dim oconexion As New SqlConnection() oconexion.connectionstring = "Server=(local);" & _ "Database=Gestion;uid=sa;pwd=;" ' crear sentencia SQL Dim ssql As String ssql = "INSERT INTO Clientes (IDCliente,Nombre,FIngreso) " & _ "VALUES(10,'Alfredo','18/7/2002')" ' crear comando Dim ocomando As New SqlCommand(sSQL, oconexion) Dim iresultado As Integer oconexion.open() ' abrir conexión iresultado = ocomando.executenonquery() ' ejecutar comando oconexion.close() ' cerrar conexión MessageBox.Show("Registros añadidos:" & iresultado) UCLM-ESI. Programación con Visual Basic.NET 3. 45 ADO.NET Las clases DataReader (i) FieldCount IsClosed Item Close GetXXX NextResult Read UCLM-ESI. Programación con Visual Basic.NET 3. 46 23

ADO.NET Las clases DataReader (ii) Private Sub btnempleados_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btnempleados.click ' crear conexion Dim oconexion As New SqlConnection() oconexion.connectionstring = "Server=(local);" & _ "Database=Northwind;uid=sa;pwd=;" ' crear comando Dim ocomando As New SqlCommand("SELECT * FROM Employees", oconexion) ' crear DataReader Dim odatareader As SqlDataReader oconexion.open() odatareader = ocomando.executereader() ' obtener DataReader ' recorrer filas While odatareader.read() Me.lstEmpleados.Items.Add(oDataReader("LastName")) End While odatareader.close() oconexion.close() End Sub UCLM-ESI. Programación con Visual Basic.NET 3. 47 ADO.NET La clase DataSet (i) Clear AcceptChanges GetChanges HasChanges RejectChanges Merge CaseSensitive DataSetName HasErrors Relations Tables UCLM-ESI. Programación con Visual Basic.NET 3. 48 24

ADO.NET La clase DataSet (ii) ' crear conexión Dim oconexion As New SqlConnection() oconexion.connectionstring = "Server=(local);Database=Northwind;uid=sa;pwd=;" ' crear adaptador Dim odataadapter As New SqlDataAdapter("SELECT * FROM Customers ORDER BY ContactName", oconexion) ' crear conjunto de datos Dim odataset As New DataSet() oconexion.open() ' utilizar el adaptador para llenar el dataset con una tabla odataadapter.fill(odataset, "Customers") oconexion.close() ' una vez desconectados, recorrer la tabla del dataset Dim otabla As DataTable otabla = odataset.tables("customers") Dim ofila As DataRow For Each ofila In otabla.rows ' mostrar los datos mediante un objeto fila Me.lstCustomers.Items.Add(oFila.Item("CompanyName") & " - " & ofila.item("contactname") & " - " & _ ofila.item("country")) Next UCLM-ESI. Programación con Visual Basic.NET 3. 49 ADO.NET Las clases DataAdapter (i) InsertCommand SelectCommand UpdateCommand DeleteCommand UCLM-ESI. Programación con Visual Basic.NET 3. 50 25

Desarrollo de una Aplicación ProTex v. 1.0 Sencillo procesador de textos Aplicación MDI con 2 formularios Formulario frmprincipal (Menú): Archivo: Nuevo, Abrir, Guardar, Salir Formato: Fuente, Tamaño, Color de Texto, Color de Fondo Ventana: Cascada, Horizontal, Vertical Formularios frmdocumento (cuadro de texto) UCLM-ESI. Programación con Visual Basic.NET 3. 51 26