2004-2-20 16:00
threehair
<!--emo&:unsure:--><img src='style_emoticons/default/unsure.gif' border='0' style='vertical-align:middle' alt='unsure.gif' /><!--endemo--> <br />方法四:在预编译时,查询的列数或者宿主变量的个数不能确定,因为不知道具体的返回个数,所以不能使用输出宿主变量。这是因为你不知道应该定义多少个宿主变量。这时,就需要SQLDA结构和DESCRIBE命令。SQLDA包含了动态查询的列描述信息。对于输入宿主变量,也可以使用SQLDA来完成不确定的参数说明。要完成方法四,必须通过以下语句来完成:<br /> EXEC SQL PREPARE statement_name FROM { :host_string | string_literal }; <br />EXEC SQL DECLARE cursor_name CURSOR FOR statement_name; <br />EXEC SQL DESCRIBE BIND VARIABLES FOR statement_name <br /> INTO bind_descriptor_name; <br />EXEC SQL OPEN cursor_name <br /> [USING DESCRIPTOR bind_descriptor_name]; <br />EXEC SQL DESCRIBE [SELECT LIST FOR] statement_name <br /> INTO select_descriptor_name; <br />EXEC SQL FETCH cursor_name USING DESCRIPTOR select_descriptor_name; <br />EXEC SQL CLOSE cursor_name;