Introducción ADO .Net
Introducción Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft .NET
Introducción a ADO.NET ADO.NET es la evolución natural del modelo ADO; se basa en el desarrollo de aplicaciones en n capas, con XML como pilar central ADO .NET es un nuevo conjunto de clases que proporciona servicios de acceso a datos a los programadores .NET Es una parte integral de la clase Framework, que contiene toda la biblioteca de clases que Microsoft ofrece con .NET, incluidas las clases fundamentales para los tipos de sistemas anteriores, como los de E/S, redes, datos y XML
Componentes de ADO.NET Proveedores administrados DataSets
Proveedores administrados El proveedor de datos .NET es un conjunto de componentes que incluye los objetos Connection, Command, DataReader y DataAdapter El proveedor de datos .NET está diseñado para ser muy sencillo y crear una capa mínima entre el origen de datos y el código, lo que aumenta el rendimiento sin detrimento de la funcionalidad
Componentes de los proveedores administrados
Tipos de proveedores administrados Proveedor administrado OLEDB Proveedor administrado SQL Proveedor administrado ODBC
Proveedor administrado OLEDB Utiliza proveedores OLE DB originales a través de la interoperabilidad COM para habilitar el acceso a datos. Para usar el proveedor de datos OLE DB en entornos .NET, también se debe emplear un proveedor OLE DB. Los siguientes proveedores son compatibles con ADO.NET: Proveedor OLE DB de Microsoft para SQL Server Proveedor OLE DB de Microsoft para Oracle Proveedor OLE DB Microsoft.Jet.OLEDB.4.0 para Jet Estas clases se encuentran en el espacio de nombres System.Data.OleDb.
Ejemplo de conexión OLEDB Dim OLEDBCn as OLEDBConnection Dim strConn as string StrConn = "Provider=MSDAORA.1;Data Source=dseoracle8; user id=demo;password=demo;" OLEDBCn = New OLEDBCOnnection OLEDBCn.Connectionstring = strconn OLEDBCn.Open()
Proveedor administrado SQL Utiliza su propio protocolo para comunicarse con la base de datos de Microsoft SQL Server™ Estas clases se encuentran en el espacio de nombres System.Data.SqlClient.
Ejemplo de conexión SQL 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()
Proveedor administrado ODBC El proveedor de datos ODBC .NET es un componente complementario del SDK B2 de .NET Framework. Ofrece acceso a controladores ODBC originales del mismo modo que el proveedor de datos OLE DB .NET ofrece acceso a proveedores OLE DB originales. El proveedor de datos ODBC .NET está pensado para funcionar con todos los controladores que cumplan las especificaciones ODBC.
Proveedor administrado ODBC (2) Con el proveedor de datos ODBC .NET sólo se han probado los siguientes controladores: Controlador ODBC para Microsoft SQL Controlador ODBC de Microsoft para Oracle Controlador ODBC para Microsoft Jet Estas clases se encuentran en el espacio de nombres System.Data.Odbc. El proveedor de datos ODBC .NET también requiere la instalación de MDAC 2.6 o posterior
Ejemplo de conexión ODBC Dim odbccn As Odbc.OdbcConnection = New Odbc.OdbcConnection("Driver={SQL SERVER}; SERVER=Vijayab1;UID=sa;PWD=Contraseña1; DATABASE=Neptuno;") Dim odbcda As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter("Select * from Empleados", odbccn) Dim odbcds As New DataSet() odbcda.Fill(odbcds, "Empleados") Me.DataGrid1.DataSource = odbcds.Tables("Empleados")
Objeto Command Representa una instrucción SQL o un procedimiento almacenado que ejecutar en un origen de datos.
DataReader DataReader para recuperar una secuencia de datos de sólo lectura y sólo hacia delante, a partir de una base de datos.
Ejemplo de DataReader 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()
DataAdapter Representa un 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.
Propiedades de DataAdapter SelectCommand InsertCommand DeleteCommand UpdateCommand TableMappings
DataSet DataSet Tablas Tabla Columnas Columna Restricciones Restricción Filas Fila Relaciones Relación
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")
Diferencias entre ADO y ADO.NET Utiliza Recordset Utiliza DataSet Requiere consulta JOIN Admite DataRelation Datos proporcionados por el RecordSet, pero generalmente admite acceso conectado, representado por el objeto Connection Se comunica con una base de datos con llamadas estándar al objeto DataAdapter
Diferencias entre ADO y ADO.NET (2) Usa cursores del lado del servidor y del lado del cliente Arquitectura desconectada: no se utilizan cursores Bloqueos de bases de datos y conexiones activas a bases de datos No conserva bloqueos de bases de datos
Cuándo utilizar ADO.NET Aplicaciones cliente/servidor Cursores del lado del servidor Bloqueo pesimista
Cómo utilizar ADO Definir una referencia a una biblioteca Microsoft ActiveX® Data Object 2.x seleccionando la ficha COM (hacemos clic en Proyecto y después en Agregar referencia) Se debe utilizar el objeto ADODB
Utilización de ADO en .NET Ejemplo: Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strconn As String strconn = "Provider=SQLOLEDB.1;Data Source=Byri;Integrated Security=SSPI;Persist security info=false;Initial Catalog=Neptuno;" cn.Open(strconn) cn.CursorLocation = ADODB.CursorLocationEnum.adUseClient rs.Open("select * from Productos", cn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) Dim DA As OleDb.OleDbDataAdapter DA = New OleDb.OleDbDataAdapter() Dim DS As New DataSet() DA.Fill(DS, rs, "RECORDSET")