4. Uso de DataSets frente a DataReaders Soportado por las herramientas de Visual Studio .NET Acceso más lento Sólo hacia delante Vinculado a un único control Basado en una instrucción SQL de una base de datos Sólo lectura Codificación manual Acceso más rápido Búsqueda de datos hacia delante y hacia atrás Vinculado a múltiples controles Incluye múltiples tablas de distintas bases de datos Acceso lectura/escritura a datos DataReader DataSet Desconectado Conectado
5.
6.
7. Seguridad SQL Server Cliente Enviar el nombre de usuario y contraseña en texto claro. No enviar el nombre de usuario y contraseña. Enviar sólo que el usuario ha sido autenticado. Autenticación modo mixto Autenticación sólo Windows Servidor SQL Sólo la cuenta ASPNET tiene concedido acceso Servidor Web Autenticación Windows o… Servidor SQL Cada cuenta de usuario se agrega a grupo login de SQL Server Servidor Web Configuración ASP.NET predeterminada Aquí está el nombre de usuario y la contraseña
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22. Navegar programáticamente entre tablas utilizando relaciones ds.Tables( index ).Rows( index ).GetChildRows(" relation ") ds.Tables( index ).Rows( index ).GetParentRow(" relation ") Customers Orders GetChildRows GetParentRow DataSet ds.Tables[ index ].Rows[ index] .GetChildRows(" relation "); ds.Tables[ index] .Rows[ index] .GetParentRow(" relation ");
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") Customers Orders CreateChildView DataRowView DataView DataSet DataView tableView; DataRowView currentRowView; tableView = new DataView(ds.Tables["Customers"]); currentRowView = tableView[dgCustomers.SelectedIndex]; dgChild.DataSource = currentRowView.CreateChildView("CustOrders");