dotConnect for SQL Server Documentation
Devart.Data.SqlServer Namespace / SqlDataReader Class / GetValues Method
An array of System.Object into which to copy the attribute column values.
Example

In This Topic
    GetValues Method (SqlDataReader)
    In This Topic
    Gets all column values for the current row.
    Syntax
    'Declaration
     
    Public Overrides Function GetValues( _
       ByVal values() As Object _
    ) As Integer
    public override int GetValues( 
       object[] values
    )

    Parameters

    values
    An array of System.Object into which to copy the attribute column values.

    Return Value

    The number of instances of System.Object in the array.
    Remarks
    For most applications, the GetValues method provides an efficient way for retrieving all column values, rather than retrieving each column value individually.

    You can pass an System.Object array that contains fewer than the number of column values contained in the resulting row. Only the amount of data the System.Object array holds is copied to the array. You can also pass an System.Object array whose length is more than the number of columns contained in the resulting row.

    This method returns System.DBNull for redundant array elements.

    Example
    The example shows how to retrieve several fields at once. Note that only the first three fields are retrieved, though there may be more in the table.
    public void GetObjects(SqlConnection myConnection)
    {
      SqlCommand cmd = new SqlCommand("SELECT * FROM Test.Emp");
      cmd.Connection = myConnection;
      myConnection.Open();
      try
      {
        SqlDataReader reader = cmd.ExecuteReader();
        reader.Read();
        object[] objs = new object[3];
        int quant = reader.GetValues(objs);
        for (int i=0;i < quant;i++)
        {
          Console.WriteLine(objs[i]);
        }
        reader.Close();
      }
      finally
      {
        myConnection.Close();
      }
    }
    Public Sub GetObjects(ByVal myConnection As SqlConnection)
      Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM Test.Dept")
      cmd.Connection = myConnection
      myConnection.Open()
      Try
        Dim reader As SqlDataReader = cmd.ExecuteReader()
        reader.Read()
        Dim objs(3) As Object
        Dim quant As Integer = reader.GetValues(objs)
        Dim i As Integer
        For i = 0 To quant - 1
          Console.WriteLine(objs(i))
        Next i
        reader.Close()
      Finally
        myConnection.Close()
      End Try
    End Sub
    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also