На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > CRecordset - изменение данных в произвольной табл.
      В данном случае MFC...
      Использую один курсор-переменную (CRecordset) для доступа к нескольким таблицам.
      С получением информации проблемм нет. Однако с изменением или добавлением новых записей возникают проблеммы... :(
      При получении информации просто
      Цитата
      m_Set->GetFieldValue(i, m_Value);


      И всё в порядке!
      Только вот функции типа
      Цитата
      m_Set->SetFieldValue(i, m_Value);


      я не нашёл... :(  (наверное и неудивительно)

      Так как же их можно изменять эти фиелды...
      Не прибегая к генерённым AppWizard-ом спецовым классам под каждую таблицу?

      И по ходу
      Как можно создавать *.mdb файл из программы? Слышал что можно какими-то стандартными Sql-функциями
        используй лучше CDaoRecordset: у него есть эти методы. базы данных можно создавать с помошью CDaoDatabase.
          Нет, Dao не очень хочется брать. В общем-то на сколько я понимаю они довольно схожи (ODBC и DAO)  странно что у ODBC этих методов нету???
          А если уж рассматривать переход на другой интерфейс, то собираюсь по ходу разбирательств с ADO на него прогу перевести.
            Операции над  записями результирующего набора можно проводить воспользовавшись операторами языка SQL, например так
            m_pSet->m_pDatabase.ExecuteSQL("INSERT INTO Table VALUES ('xxx','yyy','zzz')");
            Единственное, что если идти таким путём, то вернуть результат запроса не так и просто, однако для целей вставки, редактирования и удаления это вполне годится.
            Что касается создания *.mdb файла, то здесь наверное можно воспользоватся SQL оператором CREATE DATABASE, однако эту часть работы лучше делать через DAO.
              дык эта....
              пользуйся сиквелом..SQL т.е.
              потому как произвольно в ЦРекордсете не изменить данные вроде (у меня тож не
              получалось  ;D) - только если вставать на нужную и редактировать её... ;
              mdb файл создавай тем же самым сиквелом (в мсдн'е есть пример скл-кода)
              ток для .dbf файлов половина сиквеловских команд не работает.. :-/
                Цитата SheSan, 08.10.02, 13:51:36
                Операции над  записями результирующего набора можно проводить воспользовавшись операторами языка SQL, например так
                m_pSet->m_pDatabase.ExecuteSQL("INSERT INTO Table VALUES ('xxx','yyy','zzz')");
                Единственное, что если идти таким путём, то вернуть результат запроса не так и просто, однако для целей вставки, редактирования и удаления это вполне годится.
                Что касается создания *.mdb файла, то здесь наверное можно воспользоватся SQL оператором CREATE DATABASE, однако эту часть работы лучше делать через DAO.

                Полностью согласен, только выше был описан способ добавления новой записи, а чтоб изменить существующую : UPDATE. Хелп можещь посмотреть в Access
                  ExpandedWrap disabled
                    <br>m_pSet->m_pDatabase.ExecuteSQL("INSERT INTO Table VALUES ('xxx','yyy','zzz')"); <br>


                  I`m sorry... Я с SQL не профи, так развлекаюсь. Не могли бы вы (ALL) пояснить
                  что такое будет "xxx", "yyy" и "zzz"?

                  Спасибо всем отозвавшимся!
                  :)
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0321 ]   [ 16 queries used ]   [ Generated: 8.05.24, 22:08 GMT ]