求帮助!ADO GetCollect取不到CASE WHEN THEN END的数据怎么解决?
ADO连接SQLServer数据库,SQL如下:
_bstr_t bstrSql("");
bstrSql += "SELECT Name = C.name, ";
bstrSql += "SORT = Case INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending') ";
bstrSql += "WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE ' ' END ";
bstrSql += "FROM " + m_strDbName + ".sys.indexes IDX ";
...
使用pRrdset->GetCollect(_variant_t("Name"))
或pRrdset->GetCollect(_variant_t(long(0)))是可以取到值的。
但是 用同样的方法却取不到SORT的值。
pRrdset->GetCollect(_variant_t("SORT"))
pRrdset->GetCollect(_variant_t(long(1)))
都不能取到值,这是怎么回事?是不是因为SORT是CASE WHEN THEN END判断出来的,而不是真正的DB数据?
取到值得.vt为VT_BSTR,内容为L""
该怎么解决呢?