DataTableReader.GetValue(Int32) Метод

Определение

Возвращает значение указанного столбца в собственном формате.

public:
 override System::Object ^ GetValue(int ordinal);
public override object GetValue(int ordinal);
override this.GetValue : int -> obj
Public Overrides Function GetValue (ordinal As Integer) As Object

Параметры

ordinal
Int32

Порядковый номер столбца от нуля.

Возвращаемое значение

Значение указанного столбца. Этот метод возвращает для DBNull столбцов NULL.

Исключения

Переданный индекс находился за пределами диапазона от 0 до FieldCount 1.

Предпринята попытка получить данные из удаленной строки.

Предпринята попытка считывать или получать доступ к столбцам в закрытом DataTableReader .

Примеры

В следующем примере выполняется итерацию по всем столбцам текущей строки в DataTableReaderстроке, отображающей содержимое каждого столбца и имени столбца. Как правило, если вы намерены работать со всеми столбцами в строке, полученной с DataTableReaderпомощью метода, рассмотрите возможность использования GetValues метода, так как это более эффективно.

private static void GetAllValues(DataTableReader reader)
{
    // Given a DataTableReader, retrieve the value of
    // each column, and display the name, value, and type.
    // Make sure you have called reader.Read at least once before
    // calling this procedure.

    // Loop through all the columns.
    object value = null;
    for (int i = 0; i < reader.FieldCount; i++)
    {
        if (reader.IsDBNull(i))
        {
            value = "<NULL>";
        }
        else
        {
            value = reader.GetValue(i);
        }
        Console.WriteLine("{0}: {1} ({2})", reader.GetName(i),
            value, reader.GetFieldType(i).Name);
    }
}
Private Sub GetAllValues(ByVal reader As DataTableReader)

   ' Given a DataTableReader, retrieve the value of 
   ' each column, and display the name, value, and type.
   ' Make sure you've called reader.Read at least once before
   ' calling this procedure.
   ' Loop through all the columns.
   Dim value As Object
   For i As Integer = 0 To reader.FieldCount - 1
      If reader.IsDBNull(i) Then
         value = "<NULL>"
      Else
         value = reader.GetValue(i)
      End If
      Console.WriteLine("{0}: {1} ({2})", reader.GetName(i), _
         value, reader.GetFieldType(i).Name)
   Next
End Sub

Комментарии

Хотя вы можете вызвать IsDBNull наличие значений NULL перед вызовом этого метода, это не нужно делать.

Применяется к