最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

TIPTOP关于程序里的SQLCA.SQLCODE 与 STATUS

开发相关 bron1984 10061浏览

SQLCA.SQLCODE 是否等于 STATUS ?

因 sqlca.sqlcode 系用以沟通 front end 和 back end ,因此只有 I/O 发生时才会更改 sqlca ,同时 status 也被设定等于 sqlca.sqlcode 值。

但若只是纯粹 front end 的动作(如 display),则只有 status 会被设定,而sqlca.sqlcode 则保持不变。

为了避免错误,要注意下列两件事: (status 可被其它功能改变,如Display,SQLCA.SQLCODE则不会)
若要以 status 判断 I/O 是否成功,在 I/O 后立即判断 status,中间不可插入任何会更改 status 之指令。

若要以 sqlca.sqlcode 判断 I/O 是否成功,在 I/O 后除非有新的 I/O 发生,不然允许先执行其它 frint end 之指令,以后再予以判断.

总结一下就是,sqlca.sqlcode 是记录SQL的状态,跟随SQL后面比较多。

STATUS 记录各种状态(范围比sqlca.sqlcode广),一句let xx=yy 也会改动 STATUS的状态,但sqlca.sqlcode不会。因为这句不让数据库语句。

 

SQLERRD[3]:处理资料的笔数;

SQLERRD[2]:新增时 SERIAL 字段所传回之值;

SQLERRD[6]:最后一个 ROWID 值;

SQLAWARN[1]:若第2至第8字符中任意一个被设成”W”,则此字符亦为 “W”,否则为空白;

SQLAWARN[2]:若资料太长而被截掉时,会被设成 “W”;

SQLAWARN[3]:若 aggregate function(如 SUM,AVG,MAX,MIN) 处理时遇到 NULL 值,则会被设成”W”;

SQLAWARN[4]:若查询时,若欲查询的字段数目和 INTO 之变量数目不合时,会被设成 “W”;用法:if sqlca.sqlerrd[6] then

转载请注明:赫非域 » TIPTOP关于程序里的SQLCA.SQLCODE 与 STATUS