Retrieve data

Each HCL OneDB™ data type can fit in a .NET Framework data type.

The following table shows each HCL OneDB data type, the recommended type to store that data type in, and the .NET Framework data type that it best fits in. The recommended type should be used when accessing data through an IfxDataReader. The best-fit .NET type is the type that an IfxDataAdapter object will use when it fills a DataSet object.

You can use types other than those shown, for example you can use the IfxDataReader.GetString method to get any data type that can be stored in the HCL OneDB database. The types recommended are the most efficient and least likely to change the value.

Table 1. Best-fit types for retrieving HCL OneDB data types
HCL OneDB data type Recommended type Best-fit native .NET data type
BIGINT Int64 Int64
BIGSERIAL Int64 Int64
BLOB IfxBlob Byte[]
BOOLEAN Boolean Boolean
BYTE Byte[] Byte[]
CHAR String String
CHAR(1) String String
CLOB IfxClob Byte[]
DATE IfxDateTime DateTime
DATETIME IfxDateTime DateTime
DECIMAL(p<=28) fixed scale IfxDecimal Decimal
DECIMAL (p<=28) floating point IfxDecimal Double
DECIMAL (p>28) IfxDecimal String
DOUBLE Double Double
FLOAT Double Double
IDSSECURITYLABEL Int64[] Int64[]
INTEGER Int32 Int32
INT8 Int64 Int64
INTERVAL, year-month IfxMonthSpan String
INTERVAL, day-fraction IfxTimeSpan TimeSpan
LVARCHAR String String
MONEY IfxDecimal As for Decimal with same precision
NCHAR String String
REAL Float Float
SERIAL nt32 Int32
SERIAL8 Int64 Int64
SMALLFLOAT Float Float
TEXT String String
VARCHAR String String

For the format of HCL OneDB data types, DECIMAL, MONEY, DATETIME, and INTERVAL returned using IfxDataReader.GetString method see the section about the Literal Row segment in HCL OneDB Guide to SQL: Syntax.

The ROW and TEXT types and the collection types, LIST, MULTISET, SET, can be mapped to a string literal .NET Core type and accessed with the IfxDataReader.GetString method. The format for the string is documented in the HCL OneDB Guide to SQL: Syntax, in the section about the Literal Row segment.

In order to make the expression of any nested string literals simpler, a leading quotation mark is not returned in the string. A single-quotation mark, rather than a double-quotation mark, is used to begin and end any string literals embedded in the ROW type. This is to avoid confusion if a double-quotation mark might be used as a delimited identifier.