Неверный индекс дескриптора из запроса MSSQL - PullRequest
0 голосов
/ 11 августа 2011

Мне нужно выполнить простой запрос к базе данных MS-SQL из C ++ (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
  }

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...