powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Транзакции в ADO + WTL
12 сообщений из 12, страница 1 из 1
Транзакции в ADO + WTL
    #33159820
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проект на C++ (WTL, ADO)
Есть два диалога WTL

В одном "Создается транзакция: pCon->BeginTrans()"

Если в этой же функции создаются и открываются Recodsetы, все в порядке

Если в этой фунции создается диалог и в нем создается рекордсет открытии: "Cannot create new connection because in manual or distributed transaction mode"
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159855
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. ты создаёшь транзакцию и стопоришь её модальным окном? А если мадам покурить ушла на пару часиков?
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159892
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, что же далать, нужно при после закрытия по OK модального диалога иметь возможность откатить из главной формы изменения
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159902
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CORALEXНу да, что же далать, нужно при после закрытия по OK модального диалога иметь возможность откатить из главной формы изменения
Надо же дать возможность простому пользователю подвесить систему на полдня. Но это относится скорее к проектированию, лирика, короче.
А проблема, imho, в и в нем создается рекордсет открытии , вернее, в том, как он там создается.
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159912
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например так:

CoCreateInstance(__uuidof(Recordset), NULL, CLSCTX_ALL, __uuidof(_Recordset), (void**)&m_pRec);
m_pRec->CursorLocation = adUseClient;
_bstr_t query = "select ID_LICENZ, PR_IZMC, ID_IZMEN, VID_IZMC, DOCUM, NDOK, NDOC_RGF, CELI, OSNOV, ORGAN, PRIM, DPREDF, DNIZMP, DNIZMF, DOIZMP, DOIZMF, DREGD, DNRGF, CHANGE_DATE from IZMEN where ID_IZMEN=";
query += _bstr_t(m_iID);
m_pRec->Open(query, _variant_t((IDispatch *)m_pCon,true), adOpenForwardOnly, adLockOptimistic, adCmdUnspecified);
if (!m_bEdit) m_pRec->AddNew();


Потом m_pRec->Update();

Именно при Open возникает эта ошибка
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159923
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИменно при Open возникает эта ошибка
Перед Open, наверное, стоить дофетчить все открытые наборы на клиента и сказать им Close, может поможет.
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33159945
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да это так но почему работает в той же функции
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33160317
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CORALEXНу да, что же далать, нужно при после закрытия по OK модального диалога иметь возможность откатить из главной формы изменения
Не ты первый, не ты последний , кто решил пойти по этому скользкому пути...
Хорошо, хоть идти тебе по нему очень недолго ... до первого внедрения. Работать это не будет. Надеюсь СУБД-то MSSQLServer ?
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33160992
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да SQL Server

Посоветуйте тогда как же сделать если в диалоге вводится запись, а потом выдается 2 MessageBox и если пользователь выбал нет, то нужно откатить изменения внесенные в диалоге, и далее целая серия изменений которые в случае ошибки также надо отменить (переоформление)
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33161054
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы с Excell работали? Представьте что при вводе данных в таблицу будут появлятся 2 диалога. Зачем? Что за текст там?

опишите, не жалея чернил, что будет написано в Help'e к Вашей проге, чтобы не ставить пользователей в тупик.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33161140
CORALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это переоформление лицензии, при нажатии на форме на кнопку появляется диалог где вводятся служебные данные по переоформлению записываются в таблицу (так построены формы (сохранение при выходе)) затем выбор лицензии на кот. преоф. или ввод новой и далее работа с таблицами лицензии и т.д.
...
Рейтинг: 0 / 0
Транзакции в ADO + WTL
    #33161259
Slava Soloviev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CORALEXЭто переоформление лицензии, при нажатии на форме на кнопку появляется диалог где вводятся служебные данные по переоформлению записываются в таблицу (так построены формы (сохранение при выходе)) затем выбор лицензии на кот. преоф. или ввод новой и далее работа с таблицами лицензии и т.д.

Лучше необходимые данные кешировать на клиенте выполнять с ними все действия, а уже потом в короткой транзакции писать на сервер...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Транзакции в ADO + WTL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]