使用GBase8s ESQL/C获取或插入CHAR类型
当应用程序使用字符串类型的变量获取或插入CHAR值的时候,ESQL/C会确保字符串的值适合变量或者数据库的列。
获取CHAR类型数据
应用程序能够从数据库的CHAR或者VARCHAR数据列中获取数据,保存到字符串类型的变量中,例如(char, string, fixchar, varchar等)。如果数据库的列长度打与字符串变量, ESQL/C将会截取数据,以保证没有数据溢出。同时设定警告信息:
- 设定sqlca.sqlwarn.sqlwarn1标记为W, SQLSTATE设定为01004
- 经提示符变量的值设定为数据库列的长度。
插入CHAR类型数据
应用程序可以插入字符串变量的值(类型为char,string,fixchar,varchar等)到数据库的CHAR类型列中。
如果字符串变量的长度小于列长度, 将会添加空白字符。
如果字符串变量的长度大于列长度, 数据库服务器将会截断输入数据。此时不会有警告信息产生。
尽管char, varchar,stirng等类型的值会包含null终止字符,ESQL/C不会将null终止字符插入数据库。对于fixchar类型,用户需要确保其中不包含null终止字符。