Freigeben über


OleDbDataReader.GetValues(Object[]) Methode

Definition

Füllt ein Array von Objekten mit den Spaltenwerten der aktuellen Zeile auf.

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

Parameter

values
Object[]

Ein Array vom Typ Object, in das die Attributspalten kopiert werden sollen.

Gibt zurück

Die Anzahl der Instanzen von Object im Array.

Implementiert

Beispiele

using System;
using System.Data;
using System.Data.OleDb;

class Class1 {
   public static void Main() {
      using (OleDbConnection connection =
         new OleDbConnection("Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=Northwind")) {

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

         OleDbCommand command = new OleDbCommand("select * from Region", connection);

         connection.Open();
         OleDbDataReader reader = command.ExecuteReader();

         if (reader.Read() == true) {
            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 == true);
         }
         reader.Close();
      }
   }
}
Imports System.Data
Imports System.Data.OleDb

Module Module1
   Public Sub Main()
      Using connection As New OleDbConnection("Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=Northwind")
         Dim command As New OleDbCommand("select * from Region", connection)

         connection.Open()
         Dim reader As OleDbDataReader = 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

Hinweise

Für die meisten Anwendungen bietet die GetValues Methode ein effizientes Mittel zum Abrufen aller Spalten, anstatt jede Spalte einzeln abzurufen.

Sie können ein Object Array übergeben, das weniger als die Anzahl von Spalten enthält, die in der resultierenden Zeile enthalten sind. Nur die Datenmenge, die das Object Array enthält, wird in das Array kopiert. Sie können auch ein Object Array übergeben, dessen Länge größer ist als die Anzahl der Spalten, die in der resultierenden Zeile enthalten sind.

Diese Methode gibt DBNull zurück, wenn die Datenbankspalten NULL-Werte enthalten.

Gilt für:

Weitere Informationen