DataRowCollection.Find Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает DataRow с использованием указанного значения PrimaryKey.
Перегрузки
Find(Object[]) |
Возвращает строку, которая содержит указанные значения первичного ключа. |
Find(Object) |
Возвращает строку, указанную значением первичного ключа. |
Комментарии
Производительность должна быть операцией O(log n).
Find(Object[])
- Исходный код:
- DataRowCollection.cs
- Исходный код:
- DataRowCollection.cs
- Исходный код:
- DataRowCollection.cs
Возвращает строку, которая содержит указанные значения первичного ключа.
public:
System::Data::DataRow ^ Find(cli::array <System::Object ^> ^ keys);
public System.Data.DataRow? Find (object?[] keys);
public System.Data.DataRow Find (object[] keys);
member this.Find : obj[] -> System.Data.DataRow
Public Function Find (keys As Object()) As DataRow
Параметры
- keys
- Object[]
Массив значений первичного ключа для поиска. Тип массива — Object
.
Возвращаемое значение
Объект DataRow, содержащий указанные значения первичного ключа; в противном случае — значение NULL, если значение первичного ключа отсутствует в DataRowCollection.
Исключения
Этому значению индекса не соответствуют никакие строки.
Таблица не имеет первичного ключа.
Примеры
В следующем примере используются значения массива для поиска определенной строки в коллекции DataRow объектов . Метод предполагает, что DataTable существует с тремя первичными ключевыми столбцами. После создания массива значений код использует Find метод с массивом для получения нужного объекта.
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
Комментарии
Чтобы использовать Find метод , объект, которому DataRowCollection принадлежит объект, DataTable должен иметь по крайней мере один столбец, назначенный в качестве первичного ключевого столбца. Если две или более строк имеют одинаковое значение первичного ключа, возвращается первая найденная строка. Это происходит, если EnforceConstraints для задано значение false. PrimaryKey Дополнительные сведения о создании PrimaryKey столбца или массива объектов, если таблица содержит несколько первичных DataColumn ключей, см. в свойстве .
См. также раздел
Применяется к
Find(Object)
- Исходный код:
- DataRowCollection.cs
- Исходный код:
- DataRowCollection.cs
- Исходный код:
- DataRowCollection.cs
Возвращает строку, указанную значением первичного ключа.
public:
System::Data::DataRow ^ Find(System::Object ^ key);
public System.Data.DataRow? Find (object? key);
public System.Data.DataRow Find (object key);
member this.Find : obj -> System.Data.DataRow
Public Function Find (key As Object) As DataRow
Параметры
Возвращаемое значение
Объект DataRow, содержащий указанное значение первичного ключа; в противном случае — значение NULL, если значение первичного ключа не существует в DataRowCollection.
Исключения
Таблица не имеет первичного ключа.
Примеры
В следующем примере метод используется Find для поиска значения первичного ключа "2" в коллекции DataRow объектов . Метод возвращает конкретный DataRow объект, позволяющий изменять его значения при необходимости.
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
Комментарии
Чтобы использовать Find
метод , объект, которому DataRowCollection принадлежит объект, DataTable должен иметь по крайней мере один столбец, назначенный в качестве первичного ключевого столбца. Дополнительные сведения о создании столбца PrimaryKey первичного ключа см. в свойстве .