Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.160.216] |
|
Сообщ.
#1
,
|
|
|
Всем привет.
В программе открываем CRecordset. И надо открыть не закрыв первый CRecordset новый CRecordset. Вот примерный код: 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. |
Сообщ.
#2
,
|
|
|
Цитата P-Lib @ Подключение занято до получения результатов для другого hstmt. Видел такую ошибку... поборол с помощью открытия рекордсетов в режиме снапшот: ...->Open(CRecordset::snapshot, strSQL, CRecordset::readOnly); либо нужно открывать несколько соединений с базой данных и каждый рекордсет открывать в контексте отдельного соединения. ------------------------------------------------------------- открывать несколько соединений = создавать несколько обьектов CDataBase. |
Сообщ.
#3
,
|
|
|
Пробовал применить:
...->Open(CRecordset::snapshot, strSQL, CRecordset::readOnly); и к первому Crecordset и ко второму, все равно ошибка выводится. Вот ее текст: Ни один столбец не был связан до выхова SQLFetchScroll/SQLExtendedFetch. Что делать, помогите? Открывать второе соединение CDatabase не охота. |
Сообщ.
#4
,
|
|
|
Посмотри KB: Q173513
|
Сообщ.
#5
,
|
|
|
Не могу найти Q173513. Искал и на Microsoft и в яндексе ничего нет. Скажи адрес если можешь?
|
Сообщ.
#7
,
|
|
|
Цитата P-Lib @ и к первому Crecordset и ко второму я ж говорил Цитата SomeOtherOne @ с помощью открытия рекордсетов ты пробовал оба рекордсета открывать с такими параметрами? Цитата P-Lib @ Ни один столбец не был связан до выхова SQLFetchScroll/SQLExtendedFetch. теперь что? другая ошибка что-ли? покажи как базу (CDatabase) открываешь... |
Сообщ.
#8
,
|
|
|
Не могу понять где сама статья про это. На http://support.microsoft.com/kb/173513/en-us ничего нет.
Добавлено m_dbCust.Open("DevelopmentStudio", FALSE, FALSE, "ODBC;UID=user;PWD=pass"); Добавлено Я пробовал и оба, и по отдельности открывать с этими параметрами. Добавлено Я пробовал и оба, и по отдельности открывать с этими параметрами. |
Сообщ.
#9
,
|
|
|
Цитата 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 |
Сообщ.
#10
,
|
|
|
Попробуй вот так открыть базу:
m_dbCust.Open("DevelopmentStudio", FALSE, FALSE, "ODBC;UID=user;PWD=pass", FALSE); Какая у тебя СУБД? |
Сообщ.
#11
,
|
|
|
Получилось!!! Большое спасибо за помощь.
У меня MS SQL Server 2000. |