Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
La DataSet clase y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de los años 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras las aplicaciones están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar datos y conservar los cambios de nuevo en la base de datos. Aunque los conjuntos de datos son una tecnología probada de éxito, el enfoque recomendado para las nuevas aplicaciones .NET es usar Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.
Para buscar registros específicos en un conjunto de datos, use el FindBy método en DataTable, escriba su propia instrucción foreach para recorrer en bucle la colección Rows de la tabla o use LINQ to DataSet.
Distinción entre mayúsculas y minúsculas del conjunto de datos
Dentro de un conjunto de datos, los nombres de tabla y columna no distinguen entre mayúsculas y minúsculas de manera predeterminada; esto significa que una tabla de un conjunto de datos llamado "Clientes" puede referirse igualmente como "Clientes". Esto coincide con las convenciones de nomenclatura de muchas bases de datos, incluido SQL Server. En SQL Server, el comportamiento predeterminado es que los nombres de los elementos de datos no se pueden distinguir solo por mayúsculas y minúsculas.
Nota:
A diferencia de los conjuntos de datos, los documentos XML son sensibles a mayúsculas y minúsculas, por lo que los nombres de los elementos de datos definidos en esquemas también son sensibles a mayúsculas y minúsculas. Por ejemplo, el protocolo de esquema permite que el esquema defina una tabla denominada Customers y otra tabla denominada customers. Esto puede provocar colisiones de nombres cuando se usa un esquema que contiene elementos que solo difieren por caso para generar una clase de conjunto de datos.
Sin embargo, la distinción entre mayúsculas y minúsculas puede ser un factor en la forma en que se interpretan los datos dentro del conjunto de datos. Por ejemplo, si filtra datos en una tabla de conjunto de datos, los criterios de búsqueda pueden devolver resultados diferentes en función de si la comparación distingue mayúsculas de minúsculas. Para controlar la distinción entre mayúsculas y minúsculas del filtrado, la búsqueda y la ordenación, establezca la propiedad CaseSensitive del conjunto de datos. Todas las tablas del conjunto de datos heredan el valor de esta propiedad de forma predeterminada. (Puede anular esta propiedad para cada tabla individual estableciendo la propiedad CaseSensitive de la tabla).
Buscar una fila específica en una tabla de datos
Para buscar una fila en un conjunto de datos tipado con un valor de clave principal
Para buscar una fila, llame al método con tipado fuerte
FindByque usa la clave principal de la tabla.En el ejemplo siguiente, la
CustomerIDcolumna es la clave principal de laCustomerstabla. Esto significa que el método generadoFindByesFindByCustomerID. En el ejemplo se muestra cómo asignar un elemento específico DataRow a una variable mediante el método generadoFindBy.
Para buscar una fila en un conjunto de datos sin tipo con un valor de clave principal
Llame al Find método de una DataRowCollection colección y pase la clave principal como parámetro.
En el ejemplo siguiente se muestra cómo declarar una nueva fila denominada
foundRowy asignarle el valor devuelto del Find método . Si se encuentra la clave principal, el contenido del índice de columna 1 se muestra en un cuadro de mensaje.
Buscar filas por valores de columna
Para buscar filas basadas en los valores de cualquier columna
Las tablas de datos se crean con el Select método , que devuelve una matriz de DataRows basada en la expresión pasada al Select método . Para obtener más información sobre cómo crear expresiones válidas, vea la sección "Sintaxis de expresión" de la página sobre la Expression propiedad .
En el ejemplo siguiente se muestra cómo usar el Select método de DataTable para buscar filas específicas.
Acceso a registros relacionados
Cuando las tablas de un conjunto de datos están relacionadas, un DataRelation objeto puede hacer que los registros relacionados estén disponibles en otra tabla. Por ejemplo, un conjunto de datos que contiene Customers y Orders tablas puede estar disponible.
Puede usar un DataRelation objeto para buscar registros relacionados llamando al método GetChildRows de DataRow de la tabla primaria. Este método devuelve una matriz de registros secundarios relacionados. O bien, puede llamar al método GetParentRow de DataRow en la tabla secundaria. Este método devuelve un único DataRow de la tabla primaria.
Esta página proporciona ejemplos de conjuntos de datos tipados. Para obtener información sobre cómo navegar por las relaciones en conjuntos de datos sin tipo, vea Navegar por DataRelations.
Nota:
Si trabaja en una aplicación de Windows Forms y usa las características de enlace de datos para mostrar datos, el formulario generado por el diseñador podría proporcionar suficiente funcionalidad para la aplicación. Para obtener más información, vea Enlazar controles a datos en Visual Studio. En concreto, consulte Relaciones en conjuntos de datos.
En los ejemplos de código siguientes se muestra cómo navegar y descender las relaciones jerárquicas en conjuntos de datos tipados. Los ejemplos de código utilizan elementos tipificados DataRows (NorthwindDataSet.OrdersRow) y los métodos FindByPrimaryKey (FindByCustomerID) generados para localizar una fila deseada y devolver los registros relacionados. Los ejemplos se compilan y se ejecutan correctamente solo si tiene:
Instancia de un conjunto de datos denominado
NorthwindDataSetcon unaCustomerstabla.Una tabla
Orders.Una relación denominada
FK_Orders_Customersrelaciona las dos tablas.
Además, ambas tablas deben rellenarse con datos para que se devuelvan los registros.
Para devolver los registros secundarios de un registro primario seleccionado
Llame al método GetChildRows de una fila de datos específica
Customersy devuelva una matriz de filas de la tablaOrders:
Para devolver el registro primario de un registro secundario seleccionado
Llame al método GetParentRow de una fila de datos específica
Ordersy devuelva una sola fila de la tablaCustomers.