CRecordset и Wizzard VC++ 6
    
  ![]()  | 
Наши проекты:
 Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту  | 
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS | 
| [216.73.216.5] | 
 
 | 
		
  | 
    Правила раздела C/C++: Базы данных
  
    CRecordset и Wizzard VC++ 6
    
  | 
         
         
         
          
           Сообщ.
           #1
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Порождаю класс от CRecordset. Wizzard почему-то не генерит поля таблицы БД. Хотя с двумя другими таблицами все проходит как надо, а все таблицы технически одинаковые, Paradox. В общем, не могу заюзать таблицу. Никто не сталкивался с подобным и что тут можно сделать?   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #2
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Я сталкивался с проблемой, что этот Визард неправильно генерирует класс для таблицы ФоксПро. Как выяснилось, ОДБЦ для данной таблицы неправильно возвращает кол-во полей: 63 вместо 6, в итоге конечный класс даже не компилировался. Обошел я это тем, что сам выступил в роли Визарда, т.е. написал нужный класс вручную. У меня тоже все таблицы были одинаковы по структуре, а неправильная генерация зависила от имени файла таблицы...   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #3
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
         Цитата Rara Avis @  Я сталкивался с проблемой, что этот Визард неправильно генерирует класс для таблицы ФоксПро. Как выяснилось, ОДБЦ для данной таблицы неправильно возвращает кол-во полей: 63 вместо 6, в итоге конечный класс даже не компилировался. Обошел я это тем, что сам выступил в роли Визарда, т.е. написал нужный класс вручную. У меня тоже все таблицы были одинаковы по структуре, а неправильная генерация зависила от имени файла таблицы... А класс полностью вручную писать или сегенерить все-таки Визардом и дополнить то, что он сам не сгенерил?  | 
    
| 
         
         
         
          
           Сообщ.
           #4
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Да без разницы, только если он не правильно сгенерит, нужно все его косяки подправить нез забыть. У меня, например, были описаны куча несуществующих полей (63 вместо 6) и кол-во полей указано неправильно (там есть переменная-член m_nFields, ее значение выставляется в конструкторе)... А лучше, попробуй переименовать таблицу и повторить операцию генерации класса. У меня эта проблема проявлялась именно из-за имени файла таблицы, насколько я помню, у меня в имени файла было несколько символов подчеркивания ('_'), идущих подряд. Хотя, у тебя может не та же проблема.   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #5
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Не выходит вручную прописать поля. Выдает окно с "Непредвиденная ошибка драйвера внешней базы данных (12034)". Что бы это могло значить. Вроде бы все прописал как это делает визард.   
        
       | 
    
| 
         
         
         
          
           Сообщ.
           #6
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          мне вообще не нравится этот подход, хотя у него есть свои плюсы 
        
      имхо лучше самому создать классы для работы с БД и делать это через SQL запросы  |