На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Очень нужна помощь с CRecordset , Crecordset
    Всем привет.

    В программе открываем CRecordset. И надо открыть не закрыв первый CRecordset новый CRecordset. Вот примерный код:
    ExpandedWrap disabled
      CRecordset rs(&theApp.m_db.m_dbCust);
      CString strSQL = "SELECT Name, OID FROM ArticlesCat";
      rs.Open( CRecordset::forwardOnly, strSQL);
      //...
       
      CRecordset rs2(&theApp.m_db.m_dbCust);
      CString strSQL2 = "SELECT Name FROM ArticlesCat WHERE Parent_ID=0 ORDER BY sortP ASC";
      rs2.Open( CRecordset::forwardOnly, strSQL2);
      //...
      rs2.Close();
       
      //...
      rs.Close();

    Почему не работает? А именно ошибка в rs2.Open( CRecordset::forwardOnly, strSQL2);.

    Добавлено
    Вот текст ошибки: Подключение занято до получения результатов для другого hstmt.
      Цитата P-Lib @
      Подключение занято до получения результатов для другого hstmt.

      Видел такую ошибку... поборол с помощью открытия рекордсетов в режиме снапшот:
      ExpandedWrap disabled
          ...->Open(CRecordset::snapshot, strSQL, CRecordset::readOnly);


      либо нужно открывать несколько соединений с базой данных и каждый рекордсет открывать в контексте отдельного соединения.
      -------------------------------------------------------------
      открывать несколько соединений = создавать несколько обьектов CDataBase.
        Пробовал применить:
        ExpandedWrap disabled
          ...->Open(CRecordset::snapshot, strSQL, CRecordset::readOnly);

        и к первому Crecordset и ко второму, все равно ошибка выводится. Вот ее текст:
        Ни один столбец не был связан до выхова SQLFetchScroll/SQLExtendedFetch.
        Что делать, помогите? Открывать второе соединение CDatabase не охота.
          Посмотри KB: Q173513
            Не могу найти Q173513. Искал и на Microsoft и в яндексе ничего нет. Скажи адрес если можешь?
              Смотри здесь
              и здесь
                Цитата P-Lib @
                и к первому Crecordset и ко второму

                я ж говорил
                Цитата SomeOtherOne @
                с помощью открытия рекордсетов

                ты пробовал оба рекордсета открывать с такими параметрами?

                Цитата P-Lib @
                Ни один столбец не был связан до выхова SQLFetchScroll/SQLExtendedFetch.

                теперь что? другая ошибка что-ли?
                покажи как базу (CDatabase) открываешь...
                  Не могу понять где сама статья про это. На http://support.microsoft.com/kb/173513/en-us ничего нет.

                  Добавлено
                  m_dbCust.Open("DevelopmentStudio", FALSE, FALSE, "ODBC;UID=user;PWD=pass");

                  Добавлено
                  Я пробовал и оба, и по отдельности открывать с этими параметрами.

                  Добавлено
                  Я пробовал и оба, и по отдельности открывать с этими параметрами.
                    Цитата P-Lib @
                    На http://support.microsoft.com/kb/173513/en-us ничего нет.

                    Ну как ничего нет?
                    Цитата

                    Microsoft has confirmed this to be a problem in Open Database Connectivity version 3.0
                      Попробуй вот так открыть базу:
                      ExpandedWrap disabled
                        m_dbCust.Open("DevelopmentStudio", FALSE, FALSE, "ODBC;UID=user;PWD=pass", FALSE);


                      Какая у тебя СУБД?
                        Получилось!!! Большое спасибо за помощь.

                        У меня MS SQL Server 2000.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0320 ]   [ 17 queries used ]   [ Generated: 23.04.24, 17:51 GMT ]