今天需要获得一个记录集,就是查询字段的唯一索引;
执行以下语句
SHOW INDEX FROM xcb.`pychangename`;
获得我需要获得Non_unique这个字段的值,来判断字段是不是唯一索引,0是唯一,1不是。
但是当我用CRecordset::Open(CRecordset::snapshot,"SHOW INDEX FROM xcb.`pychangename`");
竟然异常终止...,换成别的select语句就能正常执行;
是不是这个方法只能执行select语句?
还有没有别的办法获得show的结果集?(经过测试ODBC的API可以正常返回,但是太麻烦了)
是的,CRecordset::Open方法只能执行select语句,不能执行其他SQL语句,包括SHOW INDEX语句。如果需要获得SHOW INDEX语句的结果集,可以考虑使用ODBC的API,或者使用其他的ODBC驱动程序来执行SHOW INDEX语句。其中,ODBC的API比较麻烦,但是可以实现自定义的SQL语句执行和结果集获取。如果需要简单地获取SHOW INDEX语句的结果集,可以尝试使用其他的ODBC驱动程序,如MySQL的官方ODBC驱动程序或者ODBC Connector/ODBC驱动程序等。