OdbcDataReader.GetValues(Object[]) 方法

定义

使用当前行的列值来填充对象数组。

public:
 override int GetValues(cli::array <System::Object ^> ^ values);
public:
 virtual int GetValues(cli::array <System::Object ^> ^ values);
public override int GetValues (object[] values);
public int GetValues (object[] values);
override this.GetValues : obj[] -> int
abstract member GetValues : obj[] -> int
override this.GetValues : obj[] -> int
Public Overrides Function GetValues (values As Object()) As Integer
Public Function GetValues (values As Object()) As Integer

参数

values
Object[]

将特性列复制到的 Object 类型的数组。

返回

数组中 Object 的实例的数目。

实现

示例

using System;
using System.Data;
using System.Data.Odbc;

class Class1 {
   public static void Main() {

      using (OdbcConnection connection =
         new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Northwind.mdb")) {

         object[] meta = new object[10];
         bool read;

         OdbcCommand command = new OdbcCommand("select * from Shippers", connection);
         connection.Open();
         OdbcDataReader reader = command.ExecuteReader();

         if (reader.Read()) {
            do {
               int NumberOfColums = reader.GetValues(meta);

               for (int i = 0; i < NumberOfColums; i++)
                  Console.Write("{0} ", meta[i].ToString());

               Console.WriteLine();
               read = reader.Read();
            } while (read);
         }
         reader.Close();
      }
   }
}
Imports System.Data
Imports System.Data.Odbc

Module Module1
   Public Sub Main()
      Using connection As New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Northwind.mdb")
         Dim command As New OdbcCommand("select * from Shippers", connection)

         connection.Open()
         Dim reader As OdbcDataReader = command.ExecuteReader()

         Dim NumberOfColums As Integer
         Dim meta As Object() = New Object(10) {}
         Dim read As Boolean

         If reader.Read() = True Then
            Do
               NumberOfColums = reader.GetValues(meta)
               For i As Integer = 0 To NumberOfColums - 1
                  Console.Write("{0} ", meta(i).ToString())
               Next
               Console.WriteLine()
               read = reader.Read()
            Loop While read = True
         End If

         reader.Close()
      End Using
   End Sub
End Module

注解

对于大多数应用程序, GetValues 方法提供了检索所有列的有效方法,而不是单独检索每个列。

可以传递包含 Object 少于结果行中包含的列数的数组。 仅将数组保留 Object 的数据量复制到数组。 还可以传递长度 Object 大于结果行中包含的列数的数组。

对于 null 数据库列,此方法返回 DBNull

适用于

另请参阅