lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open...
Transcript of lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open...
![Page 1: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/1.jpg)
![Page 2: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/2.jpg)
H T T P : / / L E C A S A B E . C O M 2
![Page 3: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/3.jpg)
CRUD
H T T P : / / L E C A S A B E . C O M 3
![Page 4: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/4.jpg)
CRUD
H T T P : / / L E C A S A B E . C O M 4
El concepto CRUD está relacionado a la gestión de
datos digitales en sus cuatro operaciones
fundamentales de aplicaciones persistentes en BD:
Create (Crear registros – INSERT)
Read. Retrieve (Leer registros – SELECT)
Update (Actualizar registros)
Delete. Destroy (Borrar registros)
![Page 5: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/5.jpg)
VB.NET + MYSQL
H T T P : / / L E C A S A B E . C O M 5
Para poder conectar una base de datos MySQL con
nuestra interfaz gráfica de VB.Net vamos hacer uso del
Open DataBase Connectivity (ODBC).
La estructura del código puede ser optimizada
mediante el uso de módulos o clases para organizar el
programa en 3 capas:
presentación, lógica y datos.
![Page 6: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/6.jpg)
EJEMPLO
H T T P : / / L E C A S A B E . C O M 6
Trabajaremos con un ejemplo que permitirá realizar
alta, baja, modificación, listado y búsqueda de
registros.
Necesitaremos una base de datos con una tabla.
IMPORTANTE: este ejemplo no representa la única
forma de realizar un CRUD.
![Page 7: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/7.jpg)
BASE
DE DATOS
UTILIZAREMOS
ESTA BD PARA
TODO EL
EJEMPLO.
H T T P : / / L E C A S A B E . C O M 7
![Page 8: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/8.jpg)
CAPA
GRÁFICA
EN VISUAL
STUDIO
CREAREMOS
ESTE
FORMULARIO
PARA
MANIPULAR LOS
REGISTROS.
H T T P : / / L E C A S A B E . C O M 8
![Page 9: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/9.jpg)
CÓDIGO
LÓGICA Y DATOS
H T T P : / / L E C A S A B E . C O M 9
Trabajaremos con con un módulo llamado Conexion.vb
donde iremos declarando los métodos para la conexión
y las sentencias SQL.
Dentro de los eventos de los objetos (botones,
formulario, DataGridView, etc.) del Windows Form
vamos a invocar a cada método.
![Page 10: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/10.jpg)
SYSTEM.DATA.ODBC
H T T P : / / L E C A S A B E . C O M 10
Lo primero que debemos de realizar es la importación
del System.Data.Odbc.
El espacio de nombres System.Data.Odbc es el
proveedor de datos .NET Framework para ODBC.
![Page 11: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/11.jpg)
CLASES
H T T P : / / L E C A S A B E . C O M 11
Mediante la importación del System.Data.Odbc
podemos crear objetos de varias clases que
necesitaremos para la gestión de registros:
OdbcConnection
OdbcCommand
OdbcDataAdapter
DataSet
![Page 12: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/12.jpg)
CLASES
H T T P : / / L E C A S A B E . C O M 12
OdbcConnection Class
Representa una conexión abierta a un origen de datos.
OdbcCommand Class
Representa una instrucción SQL o un procedimiento
almacenado que se van a ejecutar en un origen de
datos. Esta clase no puede heredarse.
![Page 13: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/13.jpg)
CLASES
H T T P : / / L E C A S A B E . C O M 13
OdbcDataAdapter Class
Representa un conjunto de comandos de datos y una
conexión a un origen de datos que se utilizan para
rellenar DataSet y actualizar el origen de datos. Esta
clase no puede heredarse.
DataSet Class
Representa una caché de datos en memoria.
![Page 14: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/14.jpg)
OBJETOS
H T T P : / / L E C A S A B E . C O M 14
Procedemos a crear los objetos con los que
trabajaremos.
IMPORTANTE!!
Debemos tener creado
nuestro DSN.
![Page 15: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/15.jpg)
MÉTODO DE CONEXIÓN
H T T P : / / L E C A S A B E . C O M 15
Vamos a declarar un procedimiento para poder crear la
conexión con nuestro servidor de base de datos
mediante nuestro DSN de usuario.
![Page 16: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/16.jpg)
DSN DE USUARIO
H T T P : / / L E C A S A B E . C O M 16
En este ejemplo crud_visual hace referencia al nombre
del DSN de usuario que configuramos en nuestro
ODBC.
![Page 17: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/17.jpg)
ESTADO DE CONEXIÓN
H T T P : / / L E C A S A B E . C O M 17
Consultamos el estado de nuestra conexión, en el caso
de que se encuentre cerrada procederemos a abrir.
![Page 18: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/18.jpg)
ABRIR CONEXIÓN
H T T P : / / L E C A S A B E . C O M 18
Mediante el objeto conn invocamos al método Open()
para abrir la conexión.
![Page 19: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/19.jpg)
MÉTODO PARA LISTAR REGISTROS EN DGV
H T T P : / / L E C A S A B E . C O M 19
![Page 20: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/20.jpg)
MÉTODO PARA LISTAR REGISTROS EN DGV
H T T P : / / L E C A S A B E . C O M 20
Primero invocamos a la conexión() y luego generamos la
cadena SQL para realizar la consulta.
El método Fill(DataSet) agrega o actualiza filas en el
DataSet que coincidan con las del origen de datos.
![Page 21: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/21.jpg)
MÉTODO PARA LISTAR REGISTROS EN DGV
H T T P : / / L E C A S A B E . C O M 21
Ya tenemos los datos correspondientes a la consulta en
el objeto ds, que es un objeto de la clase DataSet y
mostrados sobre el control dgvListado que es el control
DataGridView del formulario FormPersona. Luego
configuramos las columnas para rellenar con los datos.
![Page 22: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/22.jpg)
INVOCAR MÉTODO EN LOAD()
H T T P : / / L E C A S A B E . C O M 22
Finalmente invocamos al método listarPersonas()
dentro del evento Load del formulario para que el
DataGridView se nutra en el momento en que se carga
la ventana del formulario.
![Page 23: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/23.jpg)
MÉTODO PARA ALTA DE REGISTRO
H T T P : / / L E C A S A B E . C O M 23
Para poder crear un registro nuevo vamos a necesitar
acceder a todos los valores ingresados en los diferentes
controles y crear nuestra sentencia SQL INSERT para
insertar el nuevo dato en nuestra DB.
![Page 24: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/24.jpg)
MÉTODO PARA ALTA DE REGISTRO
H T T P : / / L E C A S A B E . C O M 24
![Page 25: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/25.jpg)
MÉTODO PARA ALTA DE REGISTRO
H T T P : / / L E C A S A B E . C O M 25
Primero llamamos a la Conexión() y realizamos
validaciones de campos vacíos.
![Page 26: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/26.jpg)
MÉTODO PARA ALTA DE REGISTRO
H T T P : / / L E C A S A B E . C O M 26
Luego procedemos a crear nuestra sentencia SQL para
enviar los valores ingresados a nuestra DB.
![Page 27: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/27.jpg)
EXECUTENONQUERY()
H T T P : / / L E C A S A B E . C O M 27
El método ExecuteNonQuery() ejecuta una instrucción
SQL (INSERT, UPDATE..) contra el objeto Connection de
un proveedor de datos .NET Framework y devuelve el
número de filas afectadas.
![Page 28: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/28.jpg)
INSTRUCCIÓN TRY...CATCH...FINALLY
H T T P : / / L E C A S A B E . C O M 28
Utilizamos Try/Catch que proporciona un medio para
controlar algunos o todos los errores posibles que
pueden producirse en un determinado bloque de
código, mientras sigue ejecutando el código.
![Page 29: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/29.jpg)
INVOCAMOS MÉTODO EN EVENTO ONCLICK()
H T T P : / / L E C A S A B E . C O M 29
Dentro del evento de nuestro botón Guardar
llamaremos al método declarado anteriormente.
![Page 30: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/30.jpg)
MÉTODO PARA EDITAR REGISTRO
H T T P : / / L E C A S A B E . C O M 30
En este caso también vamos a necesitar acceder a
todos los valores ingresados en los diferentes controles
pero crearemos una sentencia SQL UPDATE que nos
permitirá modificar el o los valores de un registro en
particular.
![Page 31: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/31.jpg)
MÉTODO PARA EDITAR REGISTRO
H T T P : / / L E C A S A B E . C O M 31
![Page 32: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/32.jpg)
INVOCAMOS MÉTODO EN EVENTO ONCLICK()
H T T P : / / L E C A S A B E . C O M 32
Dentro del evento de nuestro botón Modificar
llamaremos al método declarado anteriormente.
![Page 33: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/33.jpg)
MÉTODO PARA ELIMINAR REGISTRO
H T T P : / / L E C A S A B E . C O M 33
Para este método vamos a necesitar la sentencia SQL
DELETE que nos permitirá eliminar físicamente un
registro de nuestro DB.
Es muy importante hacer uso del WHERE para evitar
vaciar nuestra tabla en vez de eliminar un registro en
particular.
![Page 34: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/34.jpg)
MÉTODO PARA ELIMINAR REGISTRO
H T T P : / / L E C A S A B E . C O M 34
![Page 35: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/35.jpg)
INVOCAMOS MÉTODO EN EVENTO ONCLICK()
H T T P : / / L E C A S A B E . C O M 35
Dentro del evento de nuestro botón Eliminar
llamaremos al método declarado anteriormente.
![Page 36: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/36.jpg)
REALIZAR UNA BÚSQUEDA
H T T P : / / L E C A S A B E . C O M 36
Las búsquedas son sumamente importantes ya que nos
permiten realizar filtros sobre nuestros registros.
Para esta acción vamos a necesitar un SELECT,
WHERE, LIKE y el comodín %.
![Page 37: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/37.jpg)
MÉTODO PARA REALIZAR UNA BÚSQUEDA
H T T P : / / L E C A S A B E . C O M 37
![Page 38: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/38.jpg)
INVOCAR UN MÉTODO
H T T P : / / L E C A S A B E . C O M 38
En esta oportunidad el método será invocado en el
evento TextChanged() de la caja de texto.
![Page 39: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/39.jpg)
SELECCIONAR FILA DE DATAGRIDVIEW
H T T P : / / L E C A S A B E . C O M 39
Cuando tenemos listado de registros en una
DataGridView nos puede resultar súmamente útil poder
acceder (seleccionar) una fila para luego setear esos
valores en un formulario para su edición.
![Page 40: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/40.jpg)
MÉTODO PARA SELECCIONAR FILA DE DGV
H T T P : / / L E C A S A B E . C O M 40
Cuando tenemos listado de registros en una
DataGridView nos puede resultar súmamente útil poder
acceder (seleccionar) una fila para luego setear esos
valores en un formulario para su edición.
![Page 41: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/41.jpg)
MÉTODO PARA SELECCIONAR FILA DE DGV
H T T P : / / L E C A S A B E . C O M 41
![Page 42: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/42.jpg)
MÉTODO PARA SELECCIONAR FILA DE DGV
H T T P : / / L E C A S A B E . C O M 42
Creamos un objeto donde guardaremos el valor de la
fila seleccionada.
Por medio del objeto podemos hacer uso del método
Cells() para ir seleccionando cada columna y setearla
en cada caja de texto.
![Page 43: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/43.jpg)
RECOMENDACIÓN
H T T P : / / L E C A S A B E . C O M 43
Se recomienda el uso de parámetros para todos los
métodos.
![Page 44: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/44.jpg)
H T T P : / / L E C A S A B E . C O M 44
![Page 45: lecasabe - VB.Net - ProgIII€¦ · nuestra interfaz gráfica de VB.Net vamos hacer uso del Open DataBase Connectivity (ODBC). La estructura del código puede ser optimizada mediante](https://reader034.fdocument.pub/reader034/viewer/2022042613/5f9ec48184ea4414e6083923/html5/thumbnails/45.jpg)
H T T P : / / L E C A S A B E . C O M 45
FUENTE:
https://support.microsoft.com/es-uy/help/966849/what-is-a-dsn-data-source-name
https://www.tutscode.net/search/label/VB.Net?&max-results=5
https://www.ibm.com/support/knowledgecenter/es/SSQL82_9.5.0/com.ibm.bigfix.doc/Platfor
m/Config/c_iem_odbc_configuration.html
https://desarrolloweb.com/faq/que-es-dsn.html
https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-dsn-windows-5-
2.html
https://docs.microsoft.com/es-es/sql/odbc/reference/what-is-odbc?view=sql-server-2017
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/try-
catch-finally-statement