sqlca.h

 

 

 

 

SQLCA 字段  SQLCA 中的字段具有以下含义:  *sqlcaid8 字节字符字段,包含作为 SQLCA 结构标识的字符串 SQLCA。在您查看内存内容时,该字段可帮助进行调试。  *sqlcabc包含 SQLCA 结构的长度(136 字节)的长型整数。  *sqlcode数据库在请求上检测到错误时,指定错误代码的长整数。错误代码的定义可在头文件 sqlerr.h 中找到。成功操作的错误代码是 0(零),正数表示警告,负数表示错误。  有关错误代码的完整列表,请参见 ASA 错误消息。  *sqlerrmlsqlerrmc 字段中信息的长度。  *sqlerrmc要插入到错误消息中的零个或多个字符串。某些错误消息包含一个或多个占位字符串(%1、%2、...),这些占位字符串可替换为此字段中的字符串。  例如,如果生成未找到表错误,则 sqlerrmc 包含表名,该表名要插入到错误消息中的适当位置。  有关错误消息的完整列表,请参见 ASA 错误消息。  *sqlerrp保留。  *sqlerrd长整数的实用程序数组。  *sqlwarn保留。  *sqlstateSQLSTATE 状态值。除了以前标准中的 SQLCODE 值外,ANSI SQL 标准 (SQL-92) 还定义了 SQL 语句的一种新类型的返回值。SQLSTATE 值始终是一个由五个字符组成且以空值终止的字符串,它分为双字符类(前两个字符)和三字符子类。每个字符都可以是从 0 到 9 的数字或从 A 到 Z 的大写字母字符。  以 0 到 4 或 A 到 H 开头的任何类或子类都是由 SQL 标准定义的,其它类和子类则是各实现自行定义的。SQLSTATE 值 '00000' 表示还没有错误或警告。  有关更多的 SQLSTATE 值,请参见 ASA 错误消息。  sqlerror 数组  sqlerror 字段数组具有以下元素。  *[b]sqlerrd[1] (SQLIOCOUNT)[/b] 完成命令所需的实际输入/输出操作数。  数据库执行每个命令之前不会清零。在执行一个命令序列之前,您的程序可以将此变量设置为零。在最后一个命令执行之后,此数字是整个命令序列的输入/输出操作的总数。  *[b]sqlerrd[2] (SQLCOUNT)[/b] 此字段的值取决于要执行的语句。  o INSERT、UPDATE、PUT 和 DELETE 语句受语句影响的行数。  在游标 OPEN 上,该字段由游标中的实际行数(大于或等于 0 的值)或它的估计数(绝对值是估计数的负数)填充。如果数据库服务器不统计该值即可计算出行数,则该值就是实际行数。也可以使用 ROW_COUNT 选项,将数据库配置为始终返回实际的行数。  o FETCH 游标语句如果返回 SQLE_NOTFOUND 警告,则填充 SQLCOUNT 字段。它包含 FETCH RELATIVE 或 FETCH ABSOLUTE 语句超出可能的游标位置(游标可以位于某一行上、第一行之前或最后一行之后)范围之外的行数。在宽读取的情况下,SQLCOUNT 是实际读取的行数,它小于或等于请求的行数。在宽读取过程中,不 设置 SQLE_NOTFOUND。  有关宽读取的详细信息,请参见一次读取多个行。  如果未找到行但位置有效,则值为 0,例如,当定位在游标的最后一行上时执行 FETCH RELATIVE 1。如果所尝试的读取超出了游标的末尾,则为正值;如果所尝试的读取位于游标开头的前面,则为负值。  oGET DATA 语句SQLCOUNT 字段保存值的实际长度。  oDESCRIBE 语句在用于说明可能具有多个结果集的过程的 WITH VARIABLE RESULT 子句中,SQLCOUNT 设置为以下值之一:  +0 结果集可能会有变化:在每个 OPEN 语句之后应再次说明过程调用。  +1 结果集是固定的。不需要再次进行说明。  在出现语法错误 SQLE_SYNTAX_ERROR 的情况下,此字段包含命令字符串内检测到错误的大致字符位置。  *[b]sqlerrd[3] (SQLIOESTIMATE)[/b] 完成命令所需的输入/输出操作的估计数。在 OPEN 或 EXPLAIN 命令上将给此字段赋一个值。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章