Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > обрщение к Query Access через СRecordset |
Автор: witex 6.9.2007, 10:06 |
Здраствуйте форумчане. Есть проблема, делаю программу работающю с БД Акцес. Данные выбирать получается, но когда в запроссах использую INNER JOIN то иногда CRecodset выбирает не все данные! чать пропускает попросту. Создаю банальный Query в самом акцесе, там всё как нужно. Вопрос такой, как обратиться к готовому Query через CRecordset, и как используя его задавать парметр выборки в самом Query? За ранее благодарю! |
Автор: dizzy1984 7.9.2007, 13:21 |
Должно быть это сделать не получится, либо будет проблематично. Проще продублироват текст запроса и использовать его в CRecordset. А чтобы понять почему запрос не выводит часть данных нужно знать. 1) Запрос 2) Структуру БД 3) Код запускающий его на выполнение 3) Способ(код) просмотра результата запроса. |
Автор: witex 9.9.2007, 14:18 | ||
Запрос через рекордсет и в query в Акцесе.
полностью идентичные запрос и в акцесе. Но в акцессе выводит при нём 2 результата, а через рекордсет 1! nrd.GetRecordCount(); возвращает еденицу вместо двух результатов Вот объясните в чём может быть проблема? |
Автор: dizzy1984 10.9.2007, 08:06 | ||
Слишком мало информации, так ничего не скажешь. Покажи запрос который посылается бд, т.е какое значение принимае query после присвоения. Покажи значения которые содержат таблицы dolzn и tarif. И как ты собственно просматриваешь получившийся результат. Метод GetRecordCount возвращает число уже просмотренный записей, которой естественно, если их не смотрят, равно 1.
Т.е в мсдене сказано что чтобы получить число строк нужно организовать цикл по условию while(nrd.IsEOF()) вызывая nrd.MoveNext(); и увеличивая счетчик числа, с поправкой на CRecordset:AddNew и CRecordset:Delete. |
Автор: witex 11.9.2007, 10:58 |
благодарю, за помощь. Crecodset.IsEOF() помог. Просто в мсдн написанно, что GetRecordCount() возвращает количество запсей. А оказалось нет. Ещё раз спасибо. Тема закрыта. |