На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > CRecordset и Wizzard VC++ 6
      Порождаю класс от CRecordset. Wizzard почему-то не генерит поля таблицы БД. Хотя с двумя другими таблицами все проходит как надо, а все таблицы технически одинаковые, Paradox. В общем, не могу заюзать таблицу. Никто не сталкивался с подобным и что тут можно сделать?
        Я сталкивался с проблемой, что этот Визард неправильно генерирует класс для таблицы ФоксПро. Как выяснилось, ОДБЦ для данной таблицы неправильно возвращает кол-во полей: 63 вместо 6, в итоге конечный класс даже не компилировался. Обошел я это тем, что сам выступил в роли Визарда, т.е. написал нужный класс вручную. У меня тоже все таблицы были одинаковы по структуре, а неправильная генерация зависила от имени файла таблицы...
          Цитата Rara Avis @
          Я сталкивался с проблемой, что этот Визард неправильно генерирует класс для таблицы ФоксПро. Как выяснилось, ОДБЦ для данной таблицы неправильно возвращает кол-во полей: 63 вместо 6, в итоге конечный класс даже не компилировался. Обошел я это тем, что сам выступил в роли Визарда, т.е. написал нужный класс вручную. У меня тоже все таблицы были одинаковы по структуре, а неправильная генерация зависила от имени файла таблицы...

          А класс полностью вручную писать или сегенерить все-таки Визардом и дополнить то, что он сам не сгенерил?
            Да без разницы, только если он не правильно сгенерит, нужно все его косяки подправить нез забыть. У меня, например, были описаны куча несуществующих полей (63 вместо 6) и кол-во полей указано неправильно (там есть переменная-член m_nFields, ее значение выставляется в конструкторе)... А лучше, попробуй переименовать таблицу и повторить операцию генерации класса. У меня эта проблема проявлялась именно из-за имени файла таблицы, насколько я помню, у меня в имени файла было несколько символов подчеркивания ('_'), идущих подряд. Хотя, у тебя может не та же проблема.
              Не выходит вручную прописать поля. Выдает окно с "Непредвиденная ошибка драйвера внешней базы данных (12034)". Что бы это могло значить. Вроде бы все прописал как это делает визард.
                мне вообще не нравится этот подход, хотя у него есть свои плюсы
                имхо лучше самому создать классы для работы с БД и делать это через SQL запросы
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0511 ]   [ 16 queries used ]   [ Generated: 4.08.25, 23:15 GMT ]