Cómo: Buscar una fila específica en un objeto DataTable
La mayoría de las aplicaciones que consumen datos necesitan tener acceso a registros específicos que cumplan algunos criterios. Para buscar una fila concreta en un conjunto de datos, se invoca el método Find del objeto DataRowCollection. Si existe la clave principal, se devuelve un objeto DataRow. Si no se puede encontrar la clave principal, se devuelve un valor null.
Buscar una fila con un valor de clave principal
Para buscar una fila en un conjunto de datos con tipo con un valor de clave principal
Llame al método FindBy con establecimiento inflexible de tipos, que utiliza la clave principal de la tabla para localizar una fila.
En el ejemplo siguiente, la columna CustomerID es la clave principal de la tabla Customers, por lo que el método FindBy generado es FindByCustomerID. El ejemplo muestra cómo asignar un DataRow concreto a una variable mediante el método FindBy generado.
Dim customersRow As NorthwindDataSet.CustomersRow customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
NorthwindDataSet.CustomersRow customersRow = northwindDataSet1.Customers.FindByCustomerID("ALFKI");
Para buscar una fila en un conjunto de datos sin tipo con un valor de clave principal
Llame al método Find de una colección DataRowCollection, pasando la clave principal como parámetro.
En el siguiente ejemplo, se muestra cómo declarar una nueva fila denominada foundRow y asignarle el valor devuelto del método Find. Si se encuentra la clave principal, se muestra el contenido del índice de columna 1 en un cuadro de mensaje.
Dim s As String = "primaryKeyValue" Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s) If foundRow IsNot Nothing Then MsgBox(foundRow(1).ToString()) Else MsgBox("A row with the primary key of " & s & " could not be found") End If
string s = "primaryKeyValue"; DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s); if (foundRow != null) { MessageBox.Show(foundRow[1].ToString()); } else { MessageBox.Show("A row with the primary key of " + s + " could not be found"); }
Buscar filas por valores de columnas
Para buscar filas basándose en los valores de cualquier columna
Las tablas de datos se crean con un método Select que devuelve una matriz de objetos DataRow basada en la expresión pasada al método Select. Para obtener más información sobre la creación de expresiones válidas, vea la sección "Sintaxis de expresiones" de la página sobre la propiedad Expression.
En el siguiente ejemplo, se muestra el uso del método Select de DataTable para buscar filas específicas.
Dim foundRows() As Data.DataRow foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
DataRow[] foundRows; foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
Vea también
Referencia
Conceptos
Enlazar controles a los datos en Visual Studio
Otros recursos
Modificar datos en la aplicación
Conectarse a datos en Visual Studio
Preparar la aplicación para recibir datos
Modificar datos en la aplicación
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Mayo de 2011 |
Se ha actualizado el ejemplo de C# para corregir un defecto en el código. |
Comentarios de los clientes. |