Pro*C SQLDA 结构体
--摘自 《Oracle Pro*C 程序开发》 --Create/Modify Email:xingchengli@gmail.com
SQLDA 的结构如下:
struct SQLDA
{
long N; /* Descriptor size in number of entries */
char **V; Ptr to Arr of addresses of main variables */
long *L; /* Ptr to Arr of lengths of buffers */
short *T; /* Ptr to Arr of types of buffers */
short **I; * Ptr to Arr of addresses of indicator vars */
long F; /* Number of variables found by DESCRIBE */
char **S; /* Ptr to Arr of variable name pointers */
short *M; /* Ptr to Arr of max lengths of var. names */
short *C; * Ptr to Arr of current lengths of var. names */
char **X; /* Ptr to Arr of ind. var. name pointers */
short *Y; /* Ptr to Arr of max lengths of ind. var. names */
short *Z; /* Ptr to Arr of cur lengths of ind. var. names */
};
SQLDA结构成员作用描述:
名称 描述
N SELECT-LIST列或占位符的最大数量,执行DESCRIBE前必须执行
SQLSQLDAAlloc()函数给N进行赋值,设定描述数组的维数,其决定了描述字结构成
员数组的最大元素个数。在DESCRIBE命令后,必须将存储在F中的变量真实个数赋
值给N。
V 是一个指向一个地址数组的指针,在该数组中存储SELECT-LIST列值或绑定变
量的值。当使用SQLSQLDAAlloc函数时,系统给V[0]到V[n-]赋值为0。在使用select
descriptors时,必须在FETCH语句前,给V指针数组分配内存空间,应为下列语句要
用到两种描述字具体的值:
EXEC SQL FETCH ... USING ‘select descriptors’
对于bind descriptors,必须在OPEN语句前分配空间
EXEC SQL OPEN ... USING ‘bind descriptors’
L L是一个指向存放select-list或bind-variable变量值长度数组的指针。对于select
descriptors,DESCRIBE SELECT LIST语句设置数组中各元素的值,对不在select-list
的对应长度设置成该类型的可的定义的最大长度。在FETCH语句前,用户可能需要
重新修改变量长度,比如为了显示原因,需要将NUMBER类型数据存储到C语言char[]
类型,就需要通过SQLNumberPrecV6()函数得到NUMBER长度,然后转换成字符串
后的真实长度。
对于bind descriptors,用户必须在OPEN语句前,给数组成员赋对应V变量成员
相关文档:
VC中下面几个结构体大小分别是多少呢
struct MyStruct
{
double m4;
char m1;
int m3;
};
struct MyStruct {
  ......
C/C++中的日期和时间
摘要:
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。
关键字:UTC(世界标准时间),Calendar Time( ......
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha&nb ......
1) 什么是预编译,何时需要预编译:总是使用不经常改动的大型代码体。
程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
2) char * const p;
char const * p
const char *p ......
刚刚完成的C读取文件一行数据,可以读大量数据的行。
/*
函数功能:
读取文件的一行,当开辟内存不够时return值为-1,size会给出至少需要的内存大小,
return值为1时表示此时文件结束,从buffer,size得到最后一行的数据和大小。
输入参数:
stream:文件流
......