Skip to content

Appendix C. The Method 4 of Dynamic SQL#

This appendix should be thoroughly comprehended and referred especially when utilizing the method 4 of dynamic SQL since it can insert a value for parameter marker at a time of executing a program.

SQLDA structure Data type#

The SQLDA structure is used in the method 4 of dynamic SQL. The following section will be discussing the internal and external data type of variables defining a data type in the SQLDA structure.

SQLDA Structure#

struct SQLDA
{
int N; /* number of columns executing commands */
char **V; /* data address */
int *L; /* the length of each data buffer */
short *T; /* each data type */
short **I; /* the indicator address */
int F; /* number of analyzed columns */
}

Internal Data Type#

DB DataType Code CLI type
CHAR 1 SQL_CHAR
VARCHAR 12 SQL_VARCHAR
DECIMAL 3 SQL_DECIMAL
NUMERIC 2 SQL_NUMERIC
SMALLINT 5 SQL_SMALLINT
INTEGER 4 SQL_INTEGER
BIGINT -5 SQL_BIGINT
REAL 7 SQL_REAL
FLOAT 6 SQL_FLOAT
DOUBLE 8 SQL_DOUBLE

External Data Type#

External DataType Code C DataType
SQLDA_TYPE_CHAR 1 char, char[]
SQLDA_TYPE_VARCHAR 2 char, char[]
SQLDA_TYPE_SSHORT 3 short
SQLDA_TYPE_SINT 4 int
SQLDA_TYPE_SSHORTINT 5 short int
SQLDA_TYPE_SINTSHORT 6 int short
SQLDA_TYPE_SLONGINT 7 long int
SQLDA_TYPE_SLONG 8 long
SQLDA_TYPE_SLONGLONG 9 long long
SQLDA_TYPE_SLONGLONGINT 10 long long int
SQLDA_TYPE_DOUBLE 11 double
SQLDA_TYPE_FLOAT 12 float
SQLDA_TYPE_USHORT 13 unsigned short
SQLDA_TYPE_UINT 14 unsigned int
SQLDA_TYPE_USHORTINT 15 unsigned short int
SQLDA_TYPE_UINTSHORT 16 unsigned int short
SQLDA_TYPE_ULONGINT 17 unsigned long int
SQLDA_TYPE_ULONG 18 unsigned long
SQLDA_TYPE_ULONGLONG 19 unsigned long long
SQLDA_TYPE_ULONGLONGINT 20 unsigned long long int
SQLDA_TYPE_DATE 21 SQL_DATE_STRUCT
SQLDA_TYPE_TIME 22 SQL_TIME_STRUCT
SQLDA_TYPE_TIMESTAMP 23 SQL_TIMESTAMP_STRUCT