DataRowCollection.Find Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een DataRow met de opgegeven PrimaryKey waarde op.
Overloads
| Name | Description |
|---|---|
| Find(Object[]) |
Hiermee haalt u de rij op die de opgegeven primaire-sleutelwaarden bevat. |
| Find(Object) |
Hiermee haalt u de rij op die is opgegeven door de primaire-sleutelwaarde. |
Opmerkingen
Prestaties moeten een O(log n)-bewerking zijn.
Find(Object[])
Hiermee haalt u de rij op die de opgegeven primaire-sleutelwaarden bevat.
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
Parameters
- keys
- Object[]
Een matrix met primaire-sleutelwaarden die moeten worden gevonden. Het type van de matrix is Object.
Retouren
Een DataRow object dat de primaire-sleutelwaarden bevat die zijn opgegeven; anders een null-waarde als de primaire-sleutelwaarde niet bestaat in de DataRowCollection.
Uitzonderingen
Er komt geen rij overeen met die indexwaarde.
De tabel heeft geen primaire sleutel.
Voorbeelden
In het volgende voorbeeld worden de waarden van een matrix gebruikt om een specifieke rij in een verzameling DataRow objecten te vinden. Bij de methode wordt ervan uitgegaan dat een DataTable bestaat met drie primaire-sleutelkolommen. Nadat u een matrix van de waarden hebt gemaakt, gebruikt de code de Find methode met de matrix om het gewenste object op te halen.
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
Opmerkingen
Als u de Find methode wilt gebruiken, moet het DataTable object waartoe het DataRowCollection object behoort ten minste één kolom hebben die is aangewezen als een primaire-sleutelkolom. Wanneer twee of meer rijen dezelfde primaire-sleutelwaarde hebben, wordt de eerste rij geretourneerd. Dit gebeurt wanneer EnforceConstraints deze is ingesteld op false. Zie de PrimaryKey eigenschap voor meer informatie over het maken van een PrimaryKey kolom of een matrix met DataColumn objecten wanneer de tabel meer dan één primaire sleutel heeft.
Zie ook
Van toepassing op
Find(Object)
Hiermee haalt u de rij op die is opgegeven door de primaire-sleutelwaarde.
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
Parameters
Retouren
Een DataRow die de primaire-sleutelwaarde bevat die is opgegeven; anders een null-waarde als de primaire-sleutelwaarde niet bestaat in de DataRowCollection.
Uitzonderingen
De tabel heeft geen primaire sleutel.
Voorbeelden
In het volgende voorbeeld wordt de Find methode gebruikt om de primaire-sleutelwaarde '2' te vinden in een verzameling DataRow objecten. De methode retourneert het specifieke DataRow object, zodat u de waarden kunt wijzigen, indien nodig.
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
Opmerkingen
Als u de Find methode wilt gebruiken, moet het DataTable object waartoe het DataRowCollection object behoort ten minste één kolom hebben die is aangewezen als een primaire-sleutelkolom. Zie de PrimaryKey eigenschap voor meer informatie over het maken van een primaire-sleutelkolom.