Chapter 5 C Routines Reference


JagDescribeCol

Description

Describe a column to be sent as part of a result set.

Syntax

JagStatus JagDescribeCol(
               SQLSMALLINT  item,
               JagDataType  dataType,
               SQLPOINTER   columnName,
               SQLSMALLINT  SQLDatatype,
               SQLUINTEGER  columnSize,
               SQLUINTEGER  precision,
               SQLSMALLINT  scale,
               SQLSMALLINT  nullable)

Parameters

item 

The column number. Column numbers begin with 1.

dataType 

One of the following symbolic constants:

JAG_CS_TYPE To indicate that Sybase Open Client Client-Library datatypes are being used.
JAG_ODBC_TYPE To indicate that ODBC datatypes are being used.
columnName 

A null-terminated string containing the column's name.

columnDatatype 

The ODBC or Client-Library type constant that indicates the column's datatype. See the "Comments" section below for more information on datatypes.

colLen 

The maximum length for column values.

precision 

The precision of column values. For SQL_NUMERIC or SQL_DECIMAL columns, precision indicates the maximum number of decimal digits that a value may have. For other datatypes, precision is ignored.

scale 

The scale for column values. For SQL_NUMERIC or SQL_DECIMAL columns, scale indicates the number of decimal digits to the right of the decimal point. For other datatypes, scale is ignored.

nullable 

One of the following symbolic constants:

Value To indicate
SQL_NULLABLE Column can contain null values.
SQL_NO_NULLS Column values cannot be null.
SQL_NULLABLE_UNKNOWN Equivalent to SQL_NULLABLE.

Return Values

Return value To indicate
JAG_SUCCEED Success
JAG_FAIL Failure

Check the server's log file for more information when JagDescribeCol fails.

Usage

JagDescribeCol describes the datatype and format of a column to be sent as part of a result set. The JagColAttributes routine specifies additional column metadata.

JagDescribeCol accepts either ODBC or Sybase Open Client type constants. Set the dataType parameter to specify which set of type constants should be used.

ODBC datatypes

When the dataType parameter is JAG_ODBC_TYPE, JagDescribeCol interprets the columnDatatype parameter as an ODBC (sql.h) type constant. The table below lists the supported ODBC SQL type constants. The first column is the SQL type constant and the second is the C datatype constant representing that type.

Table 5-4 describes the supported ODBC C datatypes.

Table 5-4: ODBC datatypes for JagDescribeCol
ODBC SQL type constant Description
SQL_BINARY, SQL_VARBINARY, SQL_LONGBINARY
An array of bytes.
SQL_CHAR, SQL_VARCHAR,
SQL_LONGVARCHAR
A string of one or more characters.
SQL_DECIMAL
A fixed point, fixed precision, fractional number.
SQL_NUMERIC
Same as SQL_DECIMAL.
SQL_SMALLINT
A 2-byte integer.
SQL_INTEGER
A 4-byte integer.
SQL_REAL
A 4-byte floating point value.
SQL_FLOAT
An 8-byte floating point value.
SQL_TIMESTAMP
An ODBC timestamp value. Timestamps are sent over the network in the same format as SQL_DATE.
SQL_DATE A date value.
SQL_TIME A time value.
SQL_BIT
A binary value.
SQL_TINYINT
A one-byte integer.

Client-Library datatypes

When the dataType parameter is JAG_CS_TYPE, JagDescribeCol interprets the columnDatatype parameter as an Open Client Client-Library/C type constant. JagDescribeCol accepts any type constant that can be used with ct_bind. See your Client-Library documentation for descriptions of these datatypes.

See Also

JagBeginResults, JagBindCol, JagColAttributes, JagSendData

"Sending Result Sets" in the EAServer Programmer's Guide

 


Copyright © 2001 Sybase, Inc. All rights reserved.