День добрый.
CDatebase m_DataBase; //Открываю mdb без эксепшенов.
CRecordset myRec(&m_DataBase);
tstring testquery = _T("SELECT * FROM Table1");
myRec.Open(AFX_DB_USE_DEFAULT_TYPE, testquery.c_str());
При открытии ругается: "Не удалось открыть таблицу — не указаны столбцы для извлечения"
Бьюсь уже битый час, не понимаю что ему не нравится. Нашел кучу примеров где народ использует как описанно выше.
Прошелся под отладчиком CRecordset::m_nFields равно 0. В мане написали что его выставляет какойто визард

либо я ручками. Выставил, но толку нет.
Что я делаю не так?
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Здравствуйте, k55, Вы писали:
k55>День добрый.
k55>k55> CDatebase m_DataBase; //Открываю mdb без эксепшенов.
k55> CRecordset myRec(&m_DataBase);
k55> tstring testquery = _T("SELECT * FROM Table1");
k55> myRec.Open(AFX_DB_USE_DEFAULT_TYPE, testquery.c_str());
k55>
k55>При открытии ругается: "Не удалось открыть таблицу — не указаны столбцы для извлечения"
k55>Бьюсь уже битый час, не понимаю что ему не нравится. Нашел кучу примеров где народ использует как описанно выше.
k55>Прошелся под отладчиком CRecordset::m_nFields равно 0. В мане написали что его выставляет какойто визард
либо я ручками. Выставил, но толку нет.
k55>Что я делаю не так?
как вы открываете базу данных? здесь нету кода открытия.
Здравствуйте, k55, Вы писали:
k55>День добрый.
k55>k55> CDatebase m_DataBase; //Открываю mdb без эксепшенов.
k55> CRecordset myRec(&m_DataBase);
k55> tstring testquery = _T("SELECT * FROM Table1");
k55> myRec.Open(AFX_DB_USE_DEFAULT_TYPE, testquery.c_str());
k55>
k55>При открытии ругается: "Не удалось открыть таблицу — не указаны столбцы для извлечения"
k55>Бьюсь уже битый час, не понимаю что ему не нравится. Нашел кучу примеров где народ использует как описанно выше.
k55>Прошелся под отладчиком CRecordset::m_nFields равно 0. В мане написали что его выставляет какойто визард
либо я ручками. Выставил, но толку нет.
k55>Что я делаю не так?
открыть с параметром CRecordset::forwardOnly
CRecordset rc;
rc.Open(CRecordset::forwardOnly, query);
Всем огромное спасибо.
Разобрался что было не так.
Я пытался использовать UNION в запросе для CRecordset.
А потом когда начал проверять на простом запросе, проморгал, и воткнул неверную переменную.
Сегодня пришел и на "трезвую" голову разгреб все это безобразие.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.