来自MSSQL查询的无效描述符索引

时间:2011-08-11 13:54:42

标签: sql-server-2008 vc6

我需要在C ++的MS-SQL数据库上执行一个简单的查询(VC6,如果重要的话)。我知道数据库是开放的。我知道我的CRecordset有正确的成员数量和类型。我可以直接在数据库上成功执行查询。但是,当我尝试以编程方式执行相同的查询时,我得到“无效的描述符索引”。我尝试了各种各样的变体,简化了查询等等,但无济于事。任何人都可以建议我在这里做错了吗?有问题的代码(简化为编辑)如下:

CDatabase db;
db.OpenEx("DSN=NRSUP;Description=Test;APP=DbTest Application;WSID=RFLD-PUNDRWOOD;Trusted_Connection=Yes", CDatabase::noOdbcDialog | CDatabase::useCursorLib);
if(db.IsOpen())
{
    //Subclassed from CRecordset
    m_pDBRoRRecordSet = new CDBRoRRecordSet(&db));
    CString query;
    query.Format("SELECT idx FROM [dbo].[RoRRecordSet] WHERE Railroad = 'one' AND Subdivision = 'two' AND Track = 'three';");
    TRY
    {
        m_pDBRoRRecordSet->Open(CRecordset::snapshot,query,CRecordset::readOnly |  CRecordset::executeDirect); //Invalid descriptor index
    }
  CATCH
  {
     //invalid descriptor index
  }

}

0 个答案:

没有答案