王欣网站建设与维护,深圳小程序开发定制公司,营销型网站建设哪家专业,电商界面设计图SQL 通信区是用下列语句描述的#xff1a;EXEC SQL INCLUDE SQLCA#xff1b;此部分提供了用户运行程序的成败记录和错误处理。SQLCA的组成SQLCA是一个结构类型的变量#xff0c;它是ORACLE 和应用程序的一个接口。在执行 Pro*C程序时#xff0c; ORACLE 把每一个嵌入SQL语…SQL 通信区是用下列语句描述的EXEC SQL INCLUDE SQLCA此部分提供了用户运行程序的成败记录和错误处理。SQLCA的组成SQLCA是一个结构类型的变量它是ORACLE 和应用程序的一个接口。在执行 Pro*C程序时 ORACLE 把每一个嵌入SQL语句执行的状态信息存入SQLCA中 根据这些信息可判断SQL语句的执行是否成功处理的行数错误信息等其组成如表所示Struct sqlca{ char sqlcaid [ 8 ] ; ----à标识通讯区long sqlabc; ---à 通讯区的长度long sqlcode; ---à保留最近执行的SQL语句的状态码struct { unsigned short sqlerrml; -----à信息文本长度}sqlerrm;char sqlerrp [ 8 ];long sqlerrd [ 6 ];char sqlwarn [ 8 ];char sqlext [ 8 ];}struct sqlca sqlca;其中 sqlcode在程序中最常用到它保留了最近执行的SQL语句的状态码。程序员根据这些状态码做出相应的处理。这些状态码值如下0: 表示该SQL语句被正确执行没有发生错误和例外。0:ORACLE执行了该语句但遇到一个例外(如没找到任何数据)。0:表示由于数据库、系统、网络或应用程序的错误ORACLE未执行该SQL语句。当出现此类错误时当前事务一般应回滚。SQLCA是一个数据结构它的成员包含了SQL语句执行后的错误、警告和状态信息。在ORACLE_HOMEpro80cinclude目录下的sqlca.h文件中定义了SQLCA结构。使用如下语句可以将SQLCA包含到应用程序中EXEC SQL INCLUDE SQLCA;或 #include其部分结构成员如下·sqlcaid标识SQL通讯区的字符串成员它被初始化为“SQLCA”。·sqlcabc整数成员用于保存SQLCA的字节长度。·sqlcode整数成员它保存着SQL语句执行后的状态代码。Sqlcode的值和含义。Sqlcode的值含义0 执行SQL语句成功0 执行了该语句但检测到异常情况0 出现严重错误语句没有执行·sqlwarn用于设置警告标记的单字符数组通过赋“W”来设置警告标记。·sqlerrm包含了成员sqlerrml及sqlerrmc的一个结构其中sqlerrml用于保存错误文本长度sqlerrmc用于保存错误文本。Sqlerrmc最多可以保存70个字符的错误消息使用函数sqlglm可以获得完整的错误消息文本该函数的语法如下voidsqlglm(char *message_buffer,size_t *buffer_size,size_t *message_lenth);参数说明如下·message_buffer存储错误消息的文本缓冲区(尾部以空格填充)。·buffer_size缓冲区的字节长度。·message_lenth错误消息的实际长度。注意调用该函数前必须确保SQLCODE或sqlca.sqlcode不等于0。该函数只能用于非线程应用。SQLCA中还包括其它结构成员包括sqlerrp、sqlerrd、sqlext等由于这些成员的作用相对次要或在程序中没有使用。