ESQLC数据类型 - varchar类型

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

varchar数据类型

varchar数据类型是GBase8s ESQL/C定义的数据类型,用来保存变长字符串。

当应用程序从数据库的CHAR列获取数据到varchar类型的变量中时,GBase8s ESQL/C删除末尾的空白字符并添加null终止字符。行为与应用程序读取VARCHAR列到varchar类型的变量一致。

声明varchar类型变量的长度为n+1, n就是数据库列的长度,包含了null终止字符。

使用下面的格式声明varchar类型。

EXEC SQL BEGIN DECLARE SECTION;

  Varchar varc_name[n+1];

EXEC SQL END DECLARE SECTION;

VARCHAR宏

GBase8s 包含varchar.h头文件,文件中包含如下宏定义

宏名称

描述

MAXVCLEN

VARCHAR列中保存的最大字符数。

VCLENGTH(s)

定义的变量长度。

VCMIN(s)

VARCHAR列中应该保存的最小字符数。

VCMAX(s)

VARCHAR列中能够保存的最大字符数

VCSIZ(min, max)

编码后的SIZE值,基于VARCHAR列的最小保留长度和最大长度。是一个4byte值,头两个byte为VARCHAR保留长度, 后两个byte为VARCHAR最大长度。

详细使用方法请参照CSDK安装目录下/demo/esqlc/varchar.ec。

当环境变量IFX_PAD_VARCHAR设定为1, 客户端将发送添加空白字符的VARCHAR类型数据到服务器端。

一、 ESQL/C资料(完全版)一 第一节 什么是嵌入SQL语言?3 1.1 嵌入SQL程序的组成元素3 1.2 什么是静态SQL和动态SQL?4 1.3 什么是SQLCA?4 1.4 什么是SQLDA?5 第二节 SYBASE SQL SERVER嵌入式SQL语言5 2.1 一个嵌入SQL语言的简单例子5 2.2 嵌入SQL的处理过程6 2.3 嵌入SQL语句总览7 2.3.1 宿主变量7 2.3.2 连接数据库12 2.3.3 数据的查询和修改13 2.3.4 游标的使用13 2.3.5 SQLCA15 2.3.6 WHENEVER16 2.3.7 批处理18 2.3.8 事务18 2.4动态SQL语句18 2.4 .1 动态修改19 2.4.2 动态游标20 2.4.3 SQLDA23 2.4.4 DESCRIBE语句27 2.5 两个例子程序27 2.5.1 TELECOM程序27 2.5.2 ADHOC程序29 第三节 IBM DB2嵌入SQL语言35 3.1 一个简单示例35 3.2 嵌入SQL语句37 3.2.1宿主变量37 3.2.2单行查询39 3.2.3多行查询39 3.2.4插入、删除和修改操作40 3.2.5 SQLCA43 3.2.6事务45 3.3 DB2的嵌入SQL程序处理过程46 3.4 DB2的动态SQL嵌入语句53 3.4.1 基本方法53 3.4.2 动态游标55 3.4.3 SQLDA55 第四节 ORACLE数据库的嵌入SQL语言66 4.1 基本的SQL语句66 4.1.1宿主变量和指示符66 4.1.2 查询68 4.1.3 修改数据68 4.1.4 游标68 4.2 嵌入PL/SQL71 4.3 动态SQL语句72 4.3.1 ORACLE动态SQL语句的一些特点72 4.3.2 使用动态SQL的四种方法72 4.3.3 SQLDA75 第五节INFORMIX的嵌入SQL/C语言89 5.1 一个简单的入门例子89 5.2 宿主变量91 5.3 嵌入SQL的处理过程96 5.4 动态SQL语言96 5.4.1 SQLDA97 第六节MICROSOFT SQL SERVER7嵌入式SQL语言105 6.1 一个嵌入SQL语言的简单例子105 6.2 嵌入SQL的处理过程106 6.3 嵌入SQL语句112 6.3.1 声明嵌入SQL语句中使用的C变量112 6.3.2 连接数据库115 6.3.3 数据的查询和修改115 6.3.4 游标的使用116 6.3.5 SQLCA117 6.3.6 WHENEVER118 6.4动态SQL语句119 6.4 .1 动态修改119 6.4.2 动态游标120 6.4.3 SQLDA122 6.4.4 DESCRIBE语句130 6.5 API130 第六章 嵌入式SQL(E-SQL)简介
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八珍豆腐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值