Anda di halaman 1dari 32

Programación Visual .

Net

Mario Lastra
mlastra@movistar.cl
Curso Visual Basic .NET
Agenda El Objeto Connection
Objeto Command y DataAdapter
El Objeto DataSet
El Objeto DataView
El Objeto DataReader
Gestión de Errores

Curso Visual Basic .NET


El Objeto Connection

Curso Visual Basic .NET


Objeto Connection

Aplicación

Intermediario
Consulta, edita, inserta, borra

Data
Base

Curso Visual Basic .NET


Objeto Connection

Proporciona conectividad a un origen de datos

Acceso a comandos de base de datos para


devolver datos, modificar, ejecutar procedimientos
Almacenados y enviar o recuperar información.

Proporciona una secuencia de datos de alto


Rendimiento de solo lectura desde el origen de
datos

Curso Visual Basic .NET


Objeto Connection

Uso SqlConnection

Dim
Dim strConn
strConn AsAs String
String == "data
"data source=localhost;
source=localhost; "" && __
"initial
"initial catalog=northwind;
catalog=northwind; integrated
integrated security=true"
security=true"
Dim
Dim conn
conn As
As New
New SqlConnection(strConn)
SqlConnection(strConn)

Establecer los parámetros de la cadena de conexión

 TimeOut de Conexión  Contraseña


 Fuente de datos  Persistir información seguridad

 Catálogo inicial  Proveedor

 Seguridad Integrada  Id de Usuario

Curso Visual Basic .NET


Objeto Connection

Enviar el nombre de
Servidor
ServidorWeb
Web usuario y contraseña
Configuración
ConfiguraciónASP.NET
ASP.NET
Autenticación en texto claro.
predeterminada
predeterminada Autenticación
modo
modomixto
mixto
Aquí está el Servidor
ServidorSQL
SQL
nombre de usuario Cada
Cadacuenta
cuentade
deusuario
usuariose
se
y la contraseña agrega
agregaaagrupo
grupologin
loginde
deSQL
SQLServer
Server

o… No enviar el nombre de
o…
usuario y contraseña.
Enviar sólo que el
Cliente usuario ha sido
Autenticación
Autenticación autenticado.
sólo
sóloWindows
Windows
Servidor
ServidorSQL
SQL
Servidor Sólo
Sólolalacuenta
cuentaASPNET
ASPNET
ServidorWeb
Web
Autenticación tiene
tieneconcedido
concedidoacceso
acceso
AutenticaciónWindows
Windows

Curso Visual Basic .NET


Objeto Connection

Dim SQLCn as SQLConnection


Dim strConn as String

StrConn = "Data Source=Vijayab1; user


id=sa;password=Contraseña1;Initial
Catalog=Neptuno;"

SQLCn = New SQLConnection


SQLCn.Connectionstring = strconn
SQLCn.Open()

Curso Visual Basic .NET


Objeto Connection

Dim SQLcn As SqlClient.SqlConnection


Dim cmd As SqlClient.SqlCommand
Dim dr As SqlClient.SqlDataReader
Dim strconn As String

SQLcn = New SqlClient.SqlConnection()


strconn = "Data Source=byri;integrated security=SSPI;Initial catalog=Neptuno"
SQLcn.ConnectionString = strconn
SQLcn.Open()

cmd = New SqlClient.SqlCommand("Select * from Productos")


cmd.Connection = SQLcn
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
While dr.Read
Me.ListBox1.Items.Add(dr.GetValue(1))
End While

dr.Close()

Curso Visual Basic .NET


El Objeto DataAdapter

Curso Visual Basic .NET


Objeto DataAdapter

Conjunto de comandos de datos y una conexión


a base de datos que se utilizan para rellenar
el conjunto de datos DataSet y actualizar el origen
de datos

Curso Visual Basic .NET


Objeto DataAdapter

• Almacenar la consulta en un DataAdapter


Dim
Dim da
da As
As New
New SqlDataAdapter
SqlDataAdapter __
("select
("select ** from
from Authors",
Authors", conn)
conn)

• El constructor DataAdapter establece la propiedad


SelectCommand
da.SelectCommand.CommandText
da.SelectCommand.CommandText
da.SelectCommand.Connection
da.SelectCommand.Connection

• Establecer las propiedades InsertCommand,


UpdateCommand y DeleteCommand si fuera
necesario

Curso Visual Basic .NET


El Objeto DataSet

Curso Visual Basic .NET


Objeto DataSet

DataSet

Tablas

Tabla

Columnas

Columna

Restricciones

Restricción

Filas

Fila

Relaciones

Relación

Curso Visual Basic .NET


Objeto DataSet

Crear y poblar un DataSet con DataTables

 El método Fill ejecuta el


SelectCommand
Dim
Dim ds
ds As
As New
New DataSet()
DataSet()
da.Fill(ds, "Authors")
da.Fill(ds, "Authors")

 Acceder a DataTable

ds.Tables("Authors").Rows.Count
ds.Tables("Authors").Rows.Count

Dim
Dim rr As
As DataRow
DataRow
Dim
Dim str As String
str As String
For
For Each r in __
Each r in
ds.Tables("Authors").Rows
ds.Tables("Authors").Rows
str
str &=
&= r(2)
r(2)
str &= r("au_lname")
str &= r("au_lname")
Next
Next

Curso Visual Basic .NET


Objeto DataSet

Dim strconn As String

strconn = "Provider=SQLOLEDB.1;Data Source=byri;Integrated


Security=SSPI;Persist Security Info=False;Initial Catalog=Neptuno;"

Dim OLEDBCn As OleDb.OleDbConnection = New OleDb.OleDbConnection(strconn)


'OLEDBCn.ConnectionString = strconn

Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("Select * from Productos", OLEDBCn)

Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter()

da.SelectCommand = cmd
OLEDBCn.Open()

Dim ds As New DataSet()


da.Fill(ds, "Productos")

Curso Visual Basic .NET


Objeto DataSet

DataSet DataReader

Acceso lectura/escritura a datos Sólo lectura


Incluye múltiples tablas de distintas bases de Basandose en una instrucción SQL de una base
datos de datos
Desconectado Conectado
Vinculado a múltiples controles Vinculado a un único control

Búsqueda de datos hacia adelante y hacia atrás Sólo hacia adelante

Acceso más lento Acceso más rápido


Soportado por las herramientas Visual Codificación Manual
Studio .net

Curso Visual Basic .NET


El Objeto DataReader

Curso Visual Basic .NET


Objeto DataReader

 Sólo hacia adelante, sólo lectura


 Acceso rápido a datos
 Conexión a una fuente de datos
 Gestión de la conexión por si mismo
 Gestión de los datos por si mismo, o vincularlos a un
control enlazado a lista
 Utiliza menos recursos del servidor

Curso Visual Basic .NET


Objeto DataReader

 Para Utilizar un DataReader:


– Crear y abrir la conexión a la base de datos
– Crear un objeto Command
– Crear un DataReader desde el objeto Command
– Invocar el método ExecuteReader
– Utilizar el objeto DataReader
– Cerrar el objeto DataReader
– Cerrar el objeto Connection

 Utilizar el controlador de errores Try…Catch…


Finally

Curso Visual Basic .NET


Objeto DataReader

 Invocar Read para cada registro


 Devuelve false cuando no hay más registros
 Acceso a campos
 Parámetro es la posición ordinal o nombre del campo
 Las funciones Get ofrecen un mejor rendimiento
Do
Do While
While myReader.Read()
myReader.Read()
str
str &= myReader(1)
&= myReader(1)
str &= myReader("field")
str &= myReader("field")
str
str &=
&= myReader.GetDateTime(2)
myReader.GetDateTime(2)
Loop
Loop
 Cerrar el DataReader
 Cerrar la conexión

Curso Visual Basic .NET


Objeto DataReader

 Crear el control

 Vincular a un DataReader

dgAuthors.DataSource
dgAuthors.DataSource == dr
dr
dgAuthors.DataBind()
dgAuthors.DataBind()

Curso Visual Basic .NET


El Objeto DataView

Curso Visual Basic .NET


Objeto DataView

 Un DataView puede personalizarse para


presentar un subconjunto de datos de un
DataTable

 La propiedad DefaultView devuelve el DataView


predeterminado de la tabla
Dim
Dim dv
dv As
As DataView
DataView == ds.Tables("Authors").DefaultView
ds.Tables("Authors").DefaultView

Establecer una vista distinta de un DataSet

Dim
Dim dv
dv As
As New
New DataView
DataView (ds.Tables("Authors"))
(ds.Tables("Authors"))
dv.RowFilter
dv.RowFilter = "state = 'CA'"
= "state = 'CA'"

Curso Visual Basic .NET


Objeto DataView

 Crear el control

 Vincular a un DataSet o un DataView

dg.DataSource
dg.DataSource == ds
ds
dg.DataMember = "Authors"
dg.DataMember = "Authors"
dg.DataBind()
dg.DataBind()

Curso Visual Basic .NET


Gestión de Errores

Curso Visual Basic .NET


Gestión de Errores

 La conexión no se abre
 La cadena de conexión no es válida
 El servidor o la base de datos no se encuentran
 Fallo de inicio de sesión
 El DataAdapter no puede crear un DataSet
 Sintaxis SQL no válida
 Nombre de tabla o campo no válido

Curso Visual Basic .NET


Utilizar Múltiples Tablas

Curso Visual Basic .NET


Utilizar Múltiples Tablas

 Almacenar múltiples tablas


 Crear relaciones
 Navegar programáticamente entre tablas utilizando
relaciones
 Navegar visualmente entre tablas utilizando
relaciones

Curso Visual Basic .NET


Utilizar Múltiples Tablas

 Agregar la primera tabla


daCustomers
daCustomers == New
New SqlDataAdapter
SqlDataAdapter __
("select
("select ** from
from Customers",
Customers", conn1)
conn1)
daCustomers.Fill(ds,
daCustomers.Fill(ds, "Customers")
"Customers")
 Agregar la(s) siguiente(s) tabla(s)
daOrders
daOrders == New
New SqlDataAdapter
SqlDataAdapter __
("select
("select ** from
from Orders",
Orders", conn2)
conn2)
daOrders.Fill(ds,
daOrders.Fill(ds, "Orders")
"Orders")

Customers

conn1 conn2

DataSet Orders
Curso Visual Basic .NET
Utilizar Múltiples Tablas

 Identificar la columna primaria


Dim
Dim parentCol
parentCol As
As DataColumn
DataColumn == __
ds.Tables("Customers").Columns("CustomerID")
ds.Tables("Customers").Columns("CustomerID")

 Identificar la columna secundaria


Dim
Dim childCol
childCol As
As DataColumn
DataColumn == __
ds.Tables("Orders").Columns("CustomerID")
ds.Tables("Orders").Columns("CustomerID")

 Crear DataRelation
parentCol Tabla Customers DataRelation

Dim
Dim dr
dr As
As New
New DataRelation
DataRelation __
("name",
("name", parentCol,
parentCol, __
childCol)
childCol)
ds.DataRelations.Add(dr)
ds.DataRelations.Add(dr) childCol
DataSet Tabla Orders
Curso Visual Basic .NET
Utilizar Múltiples Tablas

 Navegar programáticamente entre tablas


utilizando relaciones

ds.Tables(index).Rows(index).GetChildRows("relation")
ds.Tables(index).Rows(index).GetChildRows("relation")
ds.Tables(index).Rows(index).GetParentRow("relation")
ds.Tables(index).Rows(index).GetParentRow("relation")

Customers Orders
GetChildRows

GetParentRow
DataSet

Curso Visual Basic .NET

Anda mungkin juga menyukai