dotConnect for PostgreSQL Documentation
Devart.Data.PostgreSql Namespace / PgSqlRow Class / Item Property / Item(PgSqlAttribute) Property
PgSqlAttribute to get value for.
Example

In This Topic
Item(PgSqlAttribute) Property
In This Topic
Gets or sets the value of the specified attribute.
Syntax
'Declaration
 
Public Overloads Property Item( _
   ByVal attribute As PgSqlAttribute _
) As Object
 

Parameters

attribute
PgSqlAttribute to get value for.

Property Value

Value of the specified attribute.
Example
This sample demonstrates usage of PgSqlRow, PgSqlRowType, PgSqlAttribute, and PgSqlAttributeCollection classes. It retrieves data from a column of composite type in a table and renders the data to console. To run the samples successfully you have to create server objects with the following script: CREATE TYPE tperson AS (name text, age integer); CREATE TABLE personnel (id integer, person tperson);
static void ReadData(PgSqlConnection conn)  
{ 
  string str = "SELECT person FROM personnel"; 
  PgSqlCommand pgCommand = new PgSqlCommand(str,conn); 
  PgSqlDataReader pgReader = pgCommand.ExecuteReader(); 
  while (pgReader.Read())  
  { 
    //obtain data
    PgSqlRow pgRow = pgReader.GetPgSqlRow(0);
    if (pgRow == null) 
    {
      Console.WriteLine();
      continue;
    }
    //obtain data description
    PgSqlRowType pgRowType = pgRow.RowType;
    //iterate through all columns
    foreach(PgSqlAttribute pgAttr in pgRowType.Attributes)
    {
      Console.Write(pgRow[pgAttr] + "\t"); 
    }
    Console.WriteLine();
  } 
  pgReader.Close(); 
}
Sub ReadData(ByVal conn As PgSqlConnection)
  Dim str As String = "SELECT person FROM personnel"
  Dim pgCommand As PgSqlCommand = New PgSqlCommand(str, conn)
  Dim pgReader As PgSqlDataReader = pgCommand.ExecuteReader()
  While pgReader.Read()
    'obtain data
    Dim pgRow As PgSqlRow = pgReader.GetPgSqlRow(0)
    If pgRow Is Nothing Then
      Console.WriteLine()
    Else
      'obtain data description
      Dim pgRowType As PgSqlRowType = pgRow.RowType
      'iterate through all columns
      For Each pgAttr As PgSqlAttribute In pgRowType.Attributes
        Console.Write(pgRow(pgAttr) & Chr(9))
      Next pgAttr
      Console.WriteLine()
    End If
  End While
  pgReader.Close()
End Sub
See Also