Anda di halaman 1dari 22

Mauricio de la Rosa Microsoft Per

ADO.net
VB C++ C# J# Common Language Specification ASP.NET Web Forms Web Services Mobile Internet Toolkit ADO.NET y XML Base Class Library Common Language Runtime Operating System Visual Studio .NET Windows Forms

ADO ADO .NET


ADO evoluciona hacia ADO .NET

RecordSet

DataReader DataAdapter DataSet

Command

Command Connection

Connection

Introduccin
Data classes

Filosofa de ADO .NET

Contenedores de datos; no saben nada sobre cmo obtener esos datos de la base de datos Objeto Clave: DataSet = Cache en memoria, desconectado. Usados para leer y escribir informacin de las fuentes de datos Proveedores Administrados de SQL Server y OLEDB Objetos Clave: Connection = Se conecta a la fuente de datos Command = Ejecuta commandos y stored procedures DataAdapter = Conecta el DataSet a la base de datos DataReader = Cursor Forward only (Solo hacia adelante), read only (Solo lectura)

Database classes

DataAdapter
DataAdapter
SelectCommand InsertCommand UpdateCommand DeleteCommand

Database

DataSet
TableMappings

DataAdapter
Sabe cmo obtener los datos de la fuente de datos y guardar los cambios

DataAdapter
Connection Connection SelectCommand SelectCommand UpdateCommand InsertCommand InsertCommand DeleteCommand DeleteCommand

Expone 2 mtodos:

Fill (DataSet y Table) Update (DataSet y Table)

Provee mecanismos de mapeo entre las tablas y columnas Los usuarios pueden configurar sus propios comandos o stored procedures de insert/update/delete Permite a un solo DataSet ser llenado con mltiples fuentes de datos

TableMappings

DataSet Object
DataSet

Equivalent al Recordset de ADO pero ms potente Modelo Relacional

Tables Table Columns Column Constraints


Constraint

Contiene tablas, columnas, filas, constraints, vistas y relaciones

Rows Row

Modelo desconectado

Relations No tienen conocimiento de Relation la fuente de datos Indexacin tipo Arreglo Tipos de datos Soporta Databinding Soporta actualizaciones en batch Se conecta a la fuente de datos mediante el DataAdapter

DataSets con Tipo


Sintaxis de este tipo:
Dim rowCustomer As System.Data.DataRow For Each rowCustomer In MyDataSet.Tables("Customers").Rows Console.WriteLine(rowCustomer.Fields("CompanyName")) Next

Puede ser cambiado a sintaxis de este tipo:


Dim rowCustomer As System.Data.DataRow
For Each rowCustomer In MyDataSet.Customers.Rows Console.WriteLine(rowCustomer.CompanyName) Next

Ms fcil de leer, errores de sintaxis capturados en tiempo de compilacin en lugar que de ejecucin

Introduction
Presentation Tier
Windows Forms
MyApp.Exe

ADO .NET Architecture

DataSet

Business Tier
Web Forms
IE

Data Tier
Data Adapter Data Adapter

Internet Intranet DataSet


XML

Data Object (Class) DataSet

Business to Business

(BizTalk, for example)

Datasets con Tipo

Ciclo de Vida del DataSet


DataSet
Table1

Original DataStore

Extrae tablas Con el Managed Provider

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

Ciclo de Vida del DataSet


Operaciones Conectadas
Original DataStore
Extrae tablas Con el Managed Provider DataSet
Table1

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

Ciclo de Vida del DataSet


DataSet
Table1

Original DataStore

Operaciones Desconectadas

Extrae tablas Con el Managed Provider

Table2

Actualiza los cambios con el Managed Provider DataSet


Table1

Establece las relaciones

DataSet
Hace cambios a los datos
Table1

Table2 Table2

Ciclo de Vida del Dataset

Objeto Command
Mtodos del Objeto Command:

ExecuteReader Ejecuta y retorna un DataReador ExecuteNonQuery Ejecuta y no retorna nada ExecuteScalar Ejecuta y retorna el primer valor

Dim sSQL As String = "select CompanyName from customers where customerid = '" & DropDownList1.SelectedItem.Value & "'" Dim sConnectionString As String = "Provider=SQLOLEDB;Data Source=localhost;uid=sa;pwd=;database=NWTradersTravel" Dim oConnection As New OleDb.OleDbConnection(sConnectionString)

Dim oCommand As New OleDb.OleDbCommand(sSQL, oConnection)


oCommand.Connection.Open() TextBox2.Text = oCommand.ExecuteScalar() oConnection.Close()

DataReader Object
Modelos de acceso forward-only y read-only

No permite hacer scrolling No permite actualizar los datos Representa los resultados de la consulta o comando ejecutado Permite hacer Databinding a Web controls

Equivalente a un Recorset FO/RO

DataReader Object
Dim sSQL As String Dim sConnectionString As String = "Provider=SQLOLEDB;Data Source=localhost;uid=sa;pwd=;database=NWTradersTravel" Dim oConnection As New OleDb.OleDbConnection(sConnectionString) sSQL = "select * from customers" Dim oCommand As New OleDb.OleDbCommand(sSQL, oConnection) Dim oReader As OleDb.OleDbDataReader oCommand.Connection.Open() oReader = oCommand.ExecuteReader() TextBox2.Text = "" While oReader.Read() TextBox2.Text &= oReader.GetString(0) & vbTab & oReader.GetString(1) & vbCrLf End While oReader.Close() oConnection.Close()

DataView
Permite establecer filtros y criterios de ordenado en una vista de una Tabla Una vista viva de un DataTable

Cualquier nmero de DataViews distintos pueden ser creados para una misma Tabla

Pueden ser usados en los Databindings

Dataview

Table Mappings
Mltiples resultados son mapeados a mltiples tablas de un Dataset

adapter.TableMappings.Add("Table1","Customers"); adapter.TableMappings.Add("Table2","Orders"); SqlDataAdapter adapter = new SqlDataAdapter( "SELECT * FROM customers; SELECT * FROM orders",cnn); adapter.Fill(DataSet);

2002 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Anda mungkin juga menyukai