DataRowCollection.Find Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en DataRow med det angivna PrimaryKey värdet.
Överlagringar
| Name | Description |
|---|---|
| Find(Object[]) |
Hämtar raden som innehåller de angivna primärnyckelvärdena. |
| Find(Object) |
Hämtar raden som anges av primärnyckelvärdet. |
Kommentarer
Prestanda bör vara en O(log n)-åtgärd.
Find(Object[])
Hämtar raden som innehåller de angivna primärnyckelvärdena.
public:
System::Data::DataRow ^ Find(cli::array <System::Object ^> ^ keys);
public System.Data.DataRow Find(object[] keys);
member this.Find : obj[] -> System.Data.DataRow
Public Function Find (keys As Object()) As DataRow
Parametrar
- keys
- Object[]
En matris med primära nyckelvärden att hitta. Matristypen är Object.
Returer
Ett DataRow objekt som innehåller de angivna primärnyckelvärdena, annars ett null-värde om det primära nyckelvärdet inte finns i DataRowCollection.
Undantag
Ingen rad motsvarar indexvärdet.
Tabellen har ingen primärnyckel.
Exempel
I följande exempel används värdena för en matris för att hitta en specifik rad i en samling DataRow objekt. Metoden förutsätter att en DataTable finns med tre primärnyckelkolumner. När du har skapat en matris med värdena använder Find koden metoden med matrisen för att hämta det specifika objekt som du vill använda.
private void FindInMultiPKey(DataTable table)
{
// Create an array for the key values to find.
object[]findTheseVals = new object[3];
// Set the values of the keys to find.
findTheseVals[0] = "John";
findTheseVals[1] = "Smith";
findTheseVals[2] = "5 Main St.";
DataRow foundRow = table.Rows.Find(findTheseVals);
// Display column 1 of the found row.
if(foundRow != null)
Console.WriteLine(foundRow[1]);
}
Private Sub FindInMultiPKey(ByVal table As DataTable)
' Create an array for the key values to find.
Dim findTheseVals(2) As Object
' Set the values of the keys to find.
findTheseVals(0) = "John"
findTheseVals(1) = "Smith"
findTheseVals(2) = "5 Main St."
Dim foundRow As DataRow = table.Rows.Find(findTheseVals)
' Display column 1 of the found row.
If Not (foundRow Is Nothing) Then
Console.WriteLine(foundRow(1).ToString())
End If
End Sub
Kommentarer
Om du vill använda Find metoden måste objektet DataTable som DataRowCollection objektet tillhör ha minst en kolumn som har angetts som en primärnyckelkolumn. När två eller flera rader har samma primärnyckelvärde returneras den första raden som hittas. Detta inträffar när EnforceConstraints värdet är falskt. Se egenskapen PrimaryKey för mer information om hur du skapar en PrimaryKey kolumn eller en matris med DataColumn objekt när tabellen har mer än en primärnyckel.
Se även
Gäller för
Find(Object)
Hämtar raden som anges av primärnyckelvärdet.
public:
System::Data::DataRow ^ Find(System::Object ^ key);
public System.Data.DataRow Find(object key);
member this.Find : obj -> System.Data.DataRow
Public Function Find (key As Object) As DataRow
Parametrar
Returer
En DataRow som innehåller det angivna primärnyckelvärdet, annars ett null-värde om primärnyckelvärdet inte finns i DataRowCollection.
Undantag
Tabellen har ingen primärnyckel.
Exempel
I följande exempel används Find metoden för att hitta primärnyckelvärdet "2" i en samling DataRow objekt. Metoden returnerar det specifika DataRow objektet så att du kan ändra dess värden efter behov.
private void FindInPrimaryKeyColumn(DataTable table,
long pkValue)
{
// Find the number pkValue in the primary key
// column of the table.
DataRow foundRow = table.Rows.Find(pkValue);
// Print the value of column 1 of the found row.
if(foundRow != null)
Console.WriteLine(foundRow[1]);
}
Private Sub FindInPrimaryKeyColumn(ByVal table As DataTable, _
ByVal pkValue As Long)
' Find the number pkValue in the primary key
' column of the table.
Dim foundRow As DataRow = table.Rows.Find(pkValue)
' Print the value of column 1 of the found row.
If Not (foundRow Is Nothing) Then
Console.WriteLine(foundRow(1).ToString())
End If
End Sub
Kommentarer
Om du vill använda Find metoden måste objektet DataTable som DataRowCollection objektet tillhör ha minst en kolumn som har angetts som en primärnyckelkolumn. Mer information om hur du skapar en primärnyckelkolumn finns i PrimaryKey egenskapen.