声明VARCHAR变量

可以将VARCHAR类型看作扩展的C结构,下面的语句:

VARCHAR username[20];

如果在预编译时加上-m选项,那么预编译器将其转换为一个字符串数组类型,放到目标C输出文件中。格式如下:

char username[20];

如果预编译时不加-m选项,那么预编译器将其转换为一个数据结构,放到目标C输出文件中。数据结构格式如下:

struct

{

unsigned short len;

unsigned char arr[20];

}username;

在执行SELECT、FETCH语句之后,如果采用字符串类型,那么长度可以通过调用表中C库函数strlen(username)得到;如果采用结构类型,那么神通数据库将取回字符的实际长度存放在VARCHAR变量的len成员中,因而用户可以很方便的执行某些操作,如

username.arr[username.len] = '\0';

在声明VARCHAR类型时,必须指定其最大长度,比如以下的声明是无效的:

VARCHAR username[];

VARCHAR变量的最大长度位于1-65535之间。