Acceso a datos con Microsoft ADO.NET - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Acceso a datos con Microsoft ADO.NET

Description:

Acceso a datos con Microsoft ADO.NET Descripci n Introducci n a ADO.NET Conectar a una base de datos Acceder a datos con DataSets Utilizar m ltiples tablas Acceder ... – PowerPoint PPT presentation

Number of Views:231
Avg rating:3.0/5.0
Slides: 32
Provided by: eri5161
Category:
Tags: ado | net | acceso | base | con | datos | microsoft

less

Transcript and Presenter's Notes

Title: Acceso a datos con Microsoft ADO.NET


1
Acceso a datos con Microsoft ADO.NET
2
Descripción
  • Introducción a ADO.NET
  • Conectar a una base de datos
  • Acceder a datos con DataSets
  • Utilizar múltiples tablas
  • Acceder a datos con DataReaders

3
Lección introducción al uso de ADO.NET
  • Multimedia modelo de objetos ADO.NET
  • Utilizar DataSets frente a DataReaders
  • Práctica cuándo utilizar DataSets o DataReaders

4
Uso de DataSets frente a DataReaders
DataReader
DataSet
Sólo lectura
Acceso lectura/escritura a datos
Basado en una instrucción SQL de una base de datos
Incluye múltiples tablas de distintas bases de
datos
Desconectado
Conectado
Vinculado a un único control
Vinculado a múltiples controles
Sólo hacia delante
Búsqueda de datos hacia delante y hacia atrás
Acceso más lento
Acceso más rápido
Soportado por las herramientas de Visual Studio
.NET
Codificación manual
5
Práctica cuándo utilizar DataSets o DataReaders
  • Los estudiantes
  • Seleccionarán la mejor opción de acceso a datos
    para determinados escenarios
  • Tiempo 5 minutos

6
Lección conexión a una base de datos
  • Seguridad SQL Server
  • Crear la conexión
  • Demostración establecer la seguridad SQL Server

7
Seguridad SQL Server
Enviar el nombre de usuario y contraseña en texto
claro.
Servidor Web Configuración ASP.NET predeterminada
Autenticaciónmodo mixto
Servidor SQL Cada cuenta de usuario seagrega a
grupo login de SQL Server
Aquí está el nombre de usuario y la contraseña
No enviar el nombre de usuario y contraseña.
Enviar sólo que el usuario ha sido autenticado.
o
Cliente
Autenticaciónsólo Windows
Servidor SQL Sólo la cuenta ASPNETtiene
concedido acceso
Servidor Web Autenticación Windows
8
Crear la conexión
  • Uso de SqlConnection
  • Establecer los parámetros de la cadena de
    conexión
  • Timeout de conexión
  • Fuente de datos
  • Catálogo inicial
  • Seguridad integrada

Dim strConn As String "data sourcelocalhost "
_ "initial catalognorthwind integrated
securitytrue" Dim conn As New SqlConnection(strCo
nn)
string strConn "data sourcelocalhost "
"initial catalognorthwind integrated
securitytrue" SqlConnection conn new
SqlConnection(strConn)
  • Contraseña
  • Persistir información seguridad
  • Proveedor
  • ID de usuario

9
Demostración establecer la seguridad de SQL
Server
  • Abrir SQL Server Enterprise Manager
  • Establecer el modo de autenticación
  • Probar con seguridad integrada
  • Probar con seguridad en modo mixto

10
Lección acceder a datos con DataSets
  • Crear un DataAdapter
  • Crear un DataSet
  • Demostración utilizar programáticamente un
    DataSet
  • Utilizar un DataView
  • Práctica organizar código para crear un DataSet
  • Vincular un DataSet a un control enlazado a lista
  • Práctica dirigida por el instructor visualizar
    un DataSet
  • Gestión de errores

11
Crear un DataAdapter
  • Almacenar la consulta en un DataAdapter
  • El constructor DataAdapter establece la propiedad
    SelectCommand
  • Establecer las propiedades InsertCommand,
    UpdateCommand y DeleteCommand si fuera necesario

Dim da As New SqlDataAdapter _ ("select from
Authors", conn)
SqlDataAdapter da new SqlDataAdapter ("select
from Authors",conn)
da.SelectCommand.CommandText da.SelectCommand.Con
nection
da.SelectCommand.CommandText da.SelectCommand.Con
nection
12
Crear un DataSet
  • Crear y poblar un DataSet con DataTables
  • El método Fill ejecuta el SelectCommand
  • Acceder a DataTable

Dim ds As New DataSet() da.Fill(ds, "Authors")
DataSet ds new DataSet() da.Fill(ds,
"Authors")
ds.Tables("Authors").Rows.Count
ds.Tables"Authors".Rows.Count
Dim r As DataRow Dim str As String For Each r in
_ ds.Tables("Authors").Rows str r(2)
str r("au_lname") Next
string str"" foreach(DataRow r in
ds.Tables"Authors".Rows) str r2 str
r"au_lname"
13
Demostración utilizar programáticamente un
DataSet
  • Crear una conexión
  • Crear DataAdapter
  • Crear DataSet
  • Leer los datos del DataSet programáticamente

14
Utilizar un DataView
  • Un DataView puede personalizarse para presentar
    un subconjunto de datos de un DataTable
  • La propiedad DefaultView devuelve el DataView
    predeterminado de la tabla
  • Establecer una vista distinta de un DataSet

Dim dv As DataView ds.Tables("Authors").DefaultV
iew
DataView dv ds.Tables"Authors".DefaultView
Dim dv As New DataView (ds.Tables("Authors")) dv.R
owFilter "state 'CA'"
DataView dv new DataView(ds.Tables"Authors")
dv.RowFilter "state 'CA'"
15
Práctica organizar código para crear un DataSet
  • Los estudiantes
  • Reordenarán líneas de código para crear un
    DataSet
  • Tiempo 5 minutos

16
Vincular un DataSet a un control enlazado a lista
  • Crear el control
  • Vincular a un DataSet o un DataView

ltaspDataGrid id"dg" runat"server" /gt
dg.DataSource ds dg.DataMember
"Authors" dg.DataBind()
dg.DataSource ds dg.DataMember
"Authors" dg.DataBind()
17
Práctica dirigida por el instructor mostrar un
DataSet
  • Crear una conexión
  • Crear un DataAdapter
  • Crear un DataSet
  • Crear un DataView
  • Vincular DataSet y DataView a controles DataGrid

18
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

Código de ejemplo
19
Lección utilizar múltiples tablas
  • Almacenar múltiples tablas
  • Crear relaciones
  • Navegar programáticamente entre tablas utilizando
    relaciones
  • Navegar visualmente entre tablas utilizando
    relaciones
  • Práctica dirigida por el instructor mostrar
    datos de múltiples tablas

20
Almacenar múltiples tablas
  • Agregar la primera tabla
  • Agregar la(s) siguiente(s) tabla(s)

daCustomers New SqlDataAdapter _ ("select
from Customers", conn1) daCustomers.Fill(ds,
"Customers")
daOrders New SqlDataAdapter _ ("select
from Orders", conn2) daOrders.Fill(ds, "Orders")
Customers
conn2
conn1
DataSet
Orders
21
Crear relaciones
  • Identificar la columna primaria
  • Identificar la columna secundaria
  • Crear DataRelation

Dim parentCol As DataColumn _
ds.Tables("Customers").Columns("CustomerID")
Dim childCol As DataColumn _
ds.Tables("Orders").Columns("CustomerID")
parentCol
DataRelation
Tabla Customers
Dim dr As New DataRelation _ ("name",
parentCol, _ childCol) ds.DataRelations.Add(dr)
childCol
DataSet
Tabla Orders
Código de ejemplo C
22
Navegar programáticamente entre tablas utilizando
relaciones
ds.Tables(index).Rows(index).GetChildRows("relatio
n") ds.Tables(index).Rows(index).GetParentRow("rel
ation")
ds.Tablesindex.Rowsindex.GetChildRows("relatio
n") ds.Tablesindex.Rowsindex.GetParentRow("re
lation")
Orders
Customers
GetChildRows
GetParentRow
DataSet
23
Navegar visualmente entre tablas utilizando
relaciones
Dim tableView As DataView Dim currentRowView As
DataRowView tableView New DataView(ds.Tables("C
ustomers")) currentRowView tableView(dgCustomers
.SelectedIndex) dgChild.DataSource
currentRowView.CreateChildView("CustOrders")
DataView tableView DataRowView
currentRowView tableView new
DataView(ds.Tables"Customers") currentRowView
tableViewdgCustomers.SelectedIndex dgChild.Da
taSource currentRowView.CreateChildView("CustOrd
ers")
Customers
Orders
DataRowView
DataView
CreateChildView
DataSet
24
Práctica dirigida por el instructor mostrar
datos de múltiples tablas
  • Programáticamente
  • Crear un DataSet
  • Crear un DataRelation
  • Mostrar registros secundarios utilizando
    DataRelation
  • Visualmente
  • Invocar CreateChildView

25
Lección Acceso a datos con DataReaders
  • Qué es un DataReader?
  • Crear un DataReader
  • Leer datos de un DataReader
  • Vincular un DataReader a un control enlazado a
    lista
  • Práctica organizar código para crear un
    DataReader
  • Demostración mostrar datos utilizando DataReaders

26
Qué es un DataReader?
  • Sólo hacia delante, sólo lectura
  • Acceso rápido a datos
  • Conexión a una fuente de datos
  • Gestión de la conexión por sí mismo
  • Gestión de los datos por sí mismo, o vincularlos
    a un control enlazado a lista
  • Utiliza menos recursos del servidor

27
Crear un 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
    TryCatchFinally

1
2
3
4
5
6
7
Código de ejemplo
28
Leer datos de un 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
  • Cerrar el DataReader
  • Cerrar la conexión

Do While myReader.Read() str myReader(1)
str myReader("field") str
myReader.GetDateTime(2) Loop
while (myReader.Read()) str myReader1
str myReader"field" str
myReader.GetDateTime(2)
29
Vincular un DataReader a un control enlazado a
lista
  • Crear el control
  • Vincular a un DataReader

ltaspDataGrid id"dgAuthors" runat"server" /gt
dgAuthors.DataSource dr dgAuthors.DataBind()
dgAuthors.DataSource dr dgAuthors.DataBind()
30
Práctica organizar código para crear un
DataReader
  • Los estudiantes
  • Reordenarán líneas de código para crear un
    DataReader
  • Tiempo 5 minutos

31
Demostración mostrar datos utilizando DataReaders
  • Crear un objeto SqlConnection
  • Crear un objeto DataReader
  • Vincular el DataReader a un Cuadro de lista
  • Generar los elementos del Cuadro de lista a
    partir de datos proporcionados por el DataReader
Write a Comment
User Comments (0)
About PowerShow.com