Escolar Documentos
Profissional Documentos
Cultura Documentos
NET)
Agenda
Modo Desconectado
Clases de Datos
Contenedores de datos
no saben nada de como obtener los datos de la BD DataSet = Desconectado y cach en memoria
Objeto Clave :
Para leer y escribir datos en las fuentes de datos Proveedores Manejados SQL Server , OLEDB, Oracle y Odbc Objetos Claves :
Connection = Se conecta a la fuentes de datos Command = Ejecuta querys y stored procedures DataAdapter = Conecta DataSet a la base de datos DataReader = Cursor Forward/only y read/only
3
RecordSet
Command
Command Connection
5
Connection
Acceso a Bases de Datos
SqlDataReader SqlDataAdapter
Agenda
Ejecutando
instrucciones SQL
Stored Procedures Transacciones El DataSet y el DataAdapter Leyendo y Actualizando Datos Relaciones de Datos Sorteando y Filtrando
7
Modo Desconectado
Dim Strqry As String = update productos set prec=prec*2 Dim Cmd As New SqlCommand(Strqry, Cn) Dim Nfilas As Integer = Cmd.ExecuteNonQuery()
Consultas de un valor
Dim Strqry As String = select count(*) from clientes Dim Cmd As New SqlCommand(Strqry, Cn) Dim Ncli As Integer = Ctype(Cmd.ExecuteScalar(),Integer)
El Objeto DataReader
Dim Strqry As String = select nombre from contactos Dim Cmd As New SqlCommand(Strqry, Cn) Dim Dr As SqlDataReader = cmd.ExecuteReader() While Dr.Read() Console.WriteLine(Dr.GetString(0)) End While Dr.Close()
10
Agenda
Stored
Procedures
Transacciones El DataSet y el DataAdapter Leyendo y Actualizando Datos Relaciones de Datos Sorteando y Filtrando
11
Modo Desconectado
En el men View, haga click en el Server Explorer o presione Ctrl+Alt+S Crear una conexin de datos Haga Click en New Stored Procedure Insertar el SQL
Creado
el objeto Command
sentencias SQL y los stored procedures pueden tener parmetros de entrada y salida, y un valor de retorno Tienen las Propiedades :
13
dan valores a los parmetros de entrada Se ejecutan con el mtodo ExecuteNonQuery o ExecuteScalar
cmLogin.Parameters("@UserName").Value = txtUsuario.Text cmLogin.Parameters("@Password").Value = txtPassword.Text cnTaskVision.Open() UserID = CType(cmLogin.ExecuteScalar(), Integer) cnTaskVision.Close()
14
Agenda
Transacciones
Modo Desconectado
Transacciones
Una transaccin es un conjunto de tareas relacionadas que tienen xito o fallan como una unidad Se pueden manejar en la capa de base de datos usando sentencias SQL
16
17
Agenda
Modo Desconectado
El
DataSet y el DataAdapter
El Objeto DataSet
Contiene tablas, columnas, filas, constraints, vistas y relaciones No conoce de fuentes de datos Indexamiento tipo array Soporta Databinding Soporta actualizaciones batch Se conecta a fuente de datos via DataAdapter
Modelo Desconectado
19
El DataAdapter
Sirve de interfase entre una tabla y un Datatable Provee mapeo entre tablas y columnas Las instrucciones en sus objetos Command las puede generar automticamente un wizard Usuarios pueden proveer comandos explcitos de insert/update/delete
DataAdapter
Connection Connection SelectCommand SelectCommand
UpdateCommand
InsertCommand InsertCommand DeleteCommand DeleteCommand
TableMappings
20
Update
DataTable
Fill
DataAdapter
Update
21
Agenda
Modo Desconectado
El DataSet y el DataAdapter
Leyendo
y Actualizando Datos
22
El mtodo Fill ejecuta las instrucciones de SelectCommand sobre la conexin y llena el DataTable La conexin es abierta slo para recuperar los datos y es cerrada nuevamente Al pasarle un select al constructor automticamente se asigna al SelectCommand
Dim Strqry As String = select * from clientes Dim Da As New SqlAdapter(Strqry, Cn) Dim Ds As New DataSet() Da.Fill( Ds.Tables(Clientes) )
23
Aadiendo filas
Dim Nr As DataRow = Ds.Tables(Clientes).NewRow Nr(Nombre)=Daniel Carvajal" Ds.Tables(Clientes).Rows.Add(Nr)
Actualizando filas
Dim Cr As DataRow = Ds.Tables(Clientes).Rows(9) Cr.BeginEdit() Cr(Nombre)=Daniel Carbajal" Cr.EndEdit()
Borrando filas
Ds.Tables(Clientes).Rows(9).Delete()
24
Con este mtodo se detectan los cambios y se disparan los respectivos InsertCommand, UpdateCommand y DeleteCommand del DataAdapter Estos objetos Command se pueden generar automticamente por un objeto de la clase SqlCommandBuilder
Agenda
Modo Desconectado
Relaciones
de Datos
26
Sorteando y Filtrando
la Integridad Referencial
Si la propiedad EnforceConstraints del DataSet es True La tabla padre tener clave primaria Se aade la clave fornea a la tabla hija
Tiene
Dim fkcCustomersOrders As New ForeignKeyConstraint( _ FK_CustomersOrders, _ dtCustomers.Columns(CustomerID), _ dtOrders.Columns(CustomerID)) fkcCustomersOrders.DeleteRule = Rule.None dtOrders.Constraints.Add(fkcCustomersOrders)
Acceso a Bases de Datos 27
Qu es un objeto DataRelation?
Define una relacin de navegacin, NO una relacin de restriccin Tiene un parmetro que permite crear tambin una restriccin de clave fornea Lo usan los objetos de presentacin para mostrar a las filas hijas relacionadas y para calcular agregados en columnas de expresin
dsNorthwind.Relations.Add(FK_CustomersOrders", _ dtCustomers.Columns("CustomerID"), _ dtOrders.Columns("CustomerID"), _ True) Crea tambien la FK
28
Dim drCustomer As DataRow Dim drOrder As DataRow For Each drCustomer In _ dsNorthwind.Tables("Customer").Rows For Each drOrder In drCustomer.GetChildRows( _ "FK_CustomersOrders") procesar fila Next Next
29
Agenda
Modo Desconectado
Sorteando
Acceso a Bases de Datos
y Filtrando
30
un arreglo de objetos DataRow que concuerdan con el filtro en el orden del sort y con un estado especfico
Dim selRows As DataRow() = _ dtCustomers.Select(City=London, _ CompanyName ASC, DataViewRowState.Deleted) Dim row As DataRow For Each row In SelRows MessageBox.Show(Nombre Compaa: , _ row(CompanyName, DataRowVersion.Original)) Next
31
Similar a las Vistas en SQL, representan un subconjunto de datos de un DataTable Los DataViews permiten ordenacin y filtrado de datos en tiempo de diseo No puede abarcar varios DataTables Los DataTable tienen la propiedad DefaultView
Dim dvProducts As New _ DataView(dsNorthwind.Tables("Products")) dvProducts.Sort = "UnitPrice dvProducts.RowFilter = "CategoryID > 4 grdProducts.DataSource = dvProducts
32