ESQLC数据类型 - string类型

GBase8s ESQL/C字符串数据类型

GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:

  1. C语言的char类型
  2. GBase8s ESQL/C预定义类型, fixchar, string, varchar
  3. lvarchar数据类型

具体使用那种数据类型,参考以下条件:

  1. 是否希望ESQL/C使用空字符来作为字符串的结束符。
  2. 是否希望使用空白字符填充。

ESQL/C 字符串类型

ESQL/C 字符串类型

Null结尾

包含空白字符

char

Y

Y

fixchar

Y

string

Y

只有在列中包含空白字符时,才会包含空白字符, 不会自动添加空白字符。

varchar

Y

Y

lvarchar

Y

string数据类型

string类型是GBase8s ESQL/C预定义数据类型,保存以null终止符结尾,并且不填充空白字符的字符串。

当然, 如果数据库中的列保存的是空白字符, 使用string类型接收该数据时, string中也会包含空白字符。

当应用程序从CHAR列中获取数据并保存到string类型的变量中时, CHAR列中末尾的空白字符会被删除,并添加null终止字符。该行为与应用程序从VARCHAR列读取内容,保存到string类型的变量中一致。

如果环境变量BLANK_STRINGS_NOT_NULL设定为1或者其他任何值, string类型的变量保存一个空白字符和一个null终止字符。

声明string类型的长度为n+1, 其中n为数据库中列的长度,这样就可以保存null终止字符。

使用下面的格式声明string类型的变量.

EXEC SQL BEGIN DECLARE SECTION;

  String str_name[n+1];

EXEC SQL END DECLARE SECTION;

你可能感兴趣的:(database,数据库,安全)