关于PRO*C获取索引名的问题,急!!!在线等待!
我的PC代码如下: 
 5.	int   CDBOracle::getindexs(char*   tablename) 
 6.	{ 
 9.		for(int   i=0;i <n_indexcount;i++) 
 10.		{ 
 11.			memset(r_ExistIndex[i],0,60); 
 12.		} 
 13.		int   rec   =   -1; 
 14.		sprintf((char   *)dynstmtsql, 
 15.		 "SELECT   INDEX_NAME   INTO   :   R_INDEXNAME   FROM   USER_IND_COLUMNS   WHERE   TABLE_NAME   =    '%s ' ",tablename);   
 18.		EXEC   SQL   PREPARE   stm   FROM   :dynstmtsql; 
 19.		EXEC   SQL   DECLARE   cur3   CURSOR   FOR   stm; 
 20.		EXEC   SQL   OPEN   cur3; 
 21.		EXEC   SQL   FETCH   cur3   INTO   :r_ExistIndex;	 
 22.		rec   =   (int)sqlca.sqlerrd[2]; 
 23.		EXEC   SQL   CLOSE   cur3;	                   
 24.		for   (i   =   0;   i    <   rec   ;i++   ) 
 25.		{ 
 26.			r_ExistIndex[i][59]=0; 
 27.			trimSpace(r_ExistIndex[i]); 
 28.		} 
 29.		return   rec;	 
 30.	} 
 其代码就是将某表的索引名称保存在ExistIndex中,其中SQL语句在PLSQL中运行没有问题,而且换过select   index_name   from   user_indexes   where   table_name   =   tablename;效果相同,出来的结果有两个错误 
 1为ORA-   -2108ORA--2108:   Message   -2108   not   found;      product=RDBMS;   facility=ORA 
 2为ora-24337:未准备语句句柄   
 请大虾们帮我看一下。在线等待,谢谢。 
------解决方案--------------------r_ExistIndex怎么声明的? 
 请贴出代码 
 还有,lz确定程序连接上数据库了?
------解决方案--------------------看不出什么,建议在每个步骤之间加入调试信息进行调试