為什麼用 OLEDB SDK 的 IRowset 對象不能取得 sql 語句中用 AS 改過列名或直接復值的列的值?
如語句 select col01='testa','testb' as col02 from t_table
在用ICommandText對象打開記錄集得到 IRowset 對象後 不能得到 col01,col02 這兩個列的值呢?我得到的都是''

解决方案 »

  1.   

    没有用oledb sdk
    参考以下面的看看http://support.microsoft.com/default.aspx?scid=kb;en-us;229884
    hr = pIDBCreateCommand->CreateCommand( NULL,
    IID_ICommandText, ( IUnknown ** ) & pICommandText ); pIDBCreateCommand->Release(); hr = pICommandText->SetCommandText( DBGUID_DBSQL, wSQLString ); hr = pICommandText->QueryInterface( IID_ICommandProperties,
    ( void ** ) & pICommandProperties ); hr = pICommandProperties->SetProperties( cCmdPropertySets, & rgCmdPropSet ); pICommandProperties->Release(); hr = pICommandText->Execute( NULL, IID_IRowset, NULL,
    & cRowsAffected, ( IUnknown ** ) & pIRowset ); pICommandText->Release(); pIRowset->QueryInterface( IID_IColumnsInfo, ( void ** ) & pIColumnsInfo ); hr = pIColumnsInfo->GetColumnInfo( & cColumns, & prgInfo, & pStringsBuffer );