Nuevo

Una introducción a DataSet en VB.NET

Una introducción a DataSet en VB.NET

Gran parte de la tecnología de datos de Microsoft, ADO.NET, es proporcionada por el objeto DataSet. Este objeto lee la base de datos y crea una copia en memoria de esa parte de la base de datos que necesita su programa. Un objeto DataSet generalmente corresponde a una tabla o vista de base de datos real, pero DataSet es una vista desconectada de la base de datos. Después de que ADO.NET crea un DataSet, no hay necesidad de una conexión activa a la base de datos, lo que ayuda en la escalabilidad porque el programa solo tiene que conectarse con un servidor de base de datos durante microsegundos al leer o escribir. Además de ser confiable y fácil de usar, DataSet admite una vista jerárquica de los datos como XML y una vista relacional que puede administrar después de que su programa se desconecte.

Puede crear sus propias vistas únicas de una base de datos utilizando DataSet. Relacione los objetos DataTable entre sí con los objetos DataRelation. Incluso puede exigir la integridad de los datos utilizando los objetos UniqueConstraint y ForeignKeyConstraint. El ejemplo simple a continuación usa solo una tabla, pero puede usar varias tablas de diferentes fuentes si las necesita.

Codificación de un conjunto de datos VB.NET

Este código crea un DataSet con una tabla, una columna y dos filas:

Dim ds como nuevo DataSet Dim dt como DataTable Dim dr como DataRow Dim cl como DataColumn Dim i As Integer dt = New DataTable () cl = New DataColumn ("theColumn", Type.GetType ("System.Int32")) dt.Columns .Add (cl) dr = dt.NewRow () dr ("theColumn") = 1 dt.Rows.Add (dr) dr = dt.NewRow () dr ("theColumn") = 2 dt.Rows.Add (dr ) ds.Tables.Add (dt) Para i = 0 A ds.Tables (0) .Rows.Count - 1 Console.WriteLine (ds.Tables (0) .Rows (i) .Item (0) .ToString) Siguiente yo

La forma más común de crear un DataSet es usar el método Fill del objeto DataAdapter. Aquí hay un ejemplo de programa probado:

Dim connectionString As String = "Fuente de datos = MUKUNTUWEAP;" & "Catálogo inicial = alcohol;" & "Integrated Security = True" Dim cn As New SqlConnection (connectionString) Dim commandWrapper As SqlCommand = New SqlCommand ("SELECT * FROM RECIPES", cn) Dim dataAdapter As SqlDataAdapter = New SqlDataAdapter Dim myDataSet As DataSet = New DataSeet = Data.Seet commandWrapper dataAdapter.Fill (myDataSet, "Recetas")

El DataSet se puede tratar como una base de datos en su código de programa. La sintaxis no lo requiere, pero normalmente proporcionará el nombre de la DataTable para cargar los datos. Aquí hay un ejemplo que muestra cómo mostrar un campo.

Dim r As DataRow para cada r en myDataSet.Tables ("Recetas"). Rows Console.WriteLine (r ("RecipeName"). ToString ()) Siguiente

Aunque el DataSet es fácil de usar, si el objetivo es el rendimiento sin procesar, es mejor que escriba más código y utilice el DataReader.

Si necesita actualizar la base de datos después de cambiar el DataSet, puede usar el método Update del objeto DataAdapter, pero debe asegurarse de que las propiedades de DataAdapter estén establecidas correctamente con los objetos SqlCommand. SqlCommandBuilder generalmente se usa para hacer esto.

Dim objCommandBuilder como nuevo SqlCommandBuilder (dataAdapter) dataAdapter.Update (myDataSet, "Recetas")

DataAdapter descubre qué ha cambiado y luego ejecuta un comando INSERT, UPDATE o DELETE, pero como con todas las operaciones de la base de datos, las actualizaciones de la base de datos pueden tener problemas cuando otros usuarios actualizan la base de datos, por lo que a menudo necesita incluir código para anticipar y resolver problemas al cambiar la base de datos.

A veces, solo un DataSet hace lo que necesita. Si necesita una recopilación y está serializando los datos, un DataSet es la herramienta que debe usar. Puede serializar rápidamente un DataSet a XML llamando al método WriteXML.

DataSet es el objeto más probable que usará para los programas que hacen referencia a una base de datos. Es el objeto central utilizado por ADO.NET, y está diseñado para usarse en modo desconectado.