La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Acceso a datos con Microsoft ADO.NET

Presentaciones similares


Presentación del tema: "Acceso a datos con Microsoft ADO.NET"— Transcripción de la presentación:

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
Acceso lectura/escritura a datos Sólo lectura Incluye múltiples tablas de distintas bases de datos Basado en una instrucción SQL de una base de datos Desconectado Conectado Vinculado a múltiples controles Vinculado a un único control Búsqueda de datos hacia delante y hacia atrás Sólo hacia delante 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ón modo mixto Aquí está el nombre de usuario y la contraseña Servidor SQL Cada cuenta de usuario se agrega a grupo login de SQL Server No enviar el nombre de usuario y contraseña. Enviar sólo que el usuario ha sido autenticado. o… Cliente Autenticación sólo Windows Servidor SQL Sólo la cuenta ASPNET tiene 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 source=localhost; " & _ "initial catalog=northwind; integrated security=true" Dim conn As New SqlConnection(strConn) string strConn = "data source=localhost; " + "initial catalog=northwind; integrated security=true"; 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.Connection da.SelectCommand.CommandText; da.SelectCommand.Connection;

12 Crear un DataSet Crear y poblar un DataSet con DataTables
El método Fill ejecuta el SelectCommand Acceder a DataTable DataSet ds = new DataSet(); da.Fill(ds, "Authors"); Dim ds As New DataSet() da.Fill(ds, "Authors") ds.Tables["Authors"].Rows.Count; ds.Tables("Authors").Rows.Count string str=""; foreach(DataRow r in ds.Tables["Authors"].Rows) { str += r[2]; str += r["au_lname"]; } Dim r As DataRow Dim str As String For Each r in _ ds.Tables("Authors").Rows str &= r(2) str &= r("au_lname") Next

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").DefaultView DataView dv = ds.Tables["Authors"].DefaultView; Dim dv As New DataView (ds.Tables("Authors")) dv.RowFilter = "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 <asp:DataGrid id="dg" runat="server" /> 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 conn1 conn2 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("relation") ds.Tables(index).Rows(index).GetParentRow("relation") ds.Tables[index].Rows[index].GetChildRows("relation"); ds.Tables[index].Rows[index].GetParentRow("relation"); Customers Orders GetChildRows GetParentRow DataSet

23 Navegar visualmente entre tablas utilizando relaciones
Dim tableView As DataView Dim currentRowView As DataRowView tableView = New DataView(ds.Tables("Customers")) currentRowView = tableView(dgCustomers.SelectedIndex) dgChild.DataSource = currentRowView.CreateChildView("CustOrders") DataView tableView; DataRowView currentRowView; tableView = new DataView(ds.Tables["Customers"]); currentRowView = tableView[dgCustomers.SelectedIndex]; dgChild.DataSource = currentRowView.CreateChildView("CustOrders"); 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 Try…Catch…Finally 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 += myReader[1]; str += myReader["field"]; str += myReader.GetDateTime(2); }

29 Vincular un DataReader a un control enlazado a lista
Crear el control Vincular a un DataReader <asp:DataGrid id="dgAuthors" runat="server" /> 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


Descargar ppt "Acceso a datos con Microsoft ADO.NET"

Presentaciones similares


Anuncios Google