Проблемы при открытии CRecordset
От: k55 Ниоткуда  
Дата: 05.06.09 11:36
Оценка:
День добрый.

 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 причин.
Re: Проблемы при открытии CRecordset
От: ole! США http://files.rsdn.org/4543/rsdn.gif
Дата: 06.06.09 03:26
Оценка:
Здравствуйте, 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>Что я делаю не так?


как вы открываете базу данных? здесь нету кода открытия.
my $.02
Re: Проблемы при открытии CRecordset
От: Igel-I  
Дата: 06.06.09 08:59
Оценка:
Здравствуйте, 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);
Re: Проблемы при открытии CRecordset
От: Аноним  
Дата: 08.06.09 05:33
Оценка:
Здравствуйте, 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>Что я делаю не так?



CDatabase m_DataBase;
m_DataBase.OpenEx(0,0); // выдаст диалог подключения ODBC
// если он не нужен вызвать:
m_DataBase.OpenEx("Строка подключения", CDatabase::noOdbcDialog);
CRecordset myRec(&m_DataBase);
tstring testquery = _T("SELECT * FROM Table1");
myRec.Open(AFX_DB_USE_DEFAULT_TYPE,  testquery.c_str());
Re: Решил проблему.
От: k55 Ниоткуда  
Дата: 08.06.09 19:36
Оценка:
Всем огромное спасибо.

Разобрался что было не так.
Я пытался использовать UNION в запросе для CRecordset.
А потом когда начал проверять на простом запросе, проморгал, и воткнул неверную переменную.
Сегодня пришел и на "трезвую" голову разгреб все это безобразие.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.