15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


To get control back after query started.

Akshay_Patel_at_SERCPOST@pcmailgw.ml.com
Tuesday, June 25, 1996

     MFC 2.5/VC++1.52C; Windows 3.1
     
     We are using CDatabase and CRecordset classes using ODBC (Gupta 
     SqlBase Driver) with Gupta database system. 
     
     When we start an application we connect to database using 
     CDatabase::Open function with object of CDatabase defined in 
     application class (class derived from CWinApp). I went to debug mode 
     to check all initialization on CDatabase object in CDatabase class and 
     it sets as asynchronous transaction. But when we try to execute query 
     using CRecordset::Open function call, MFC changes asynchronous to 
     synchronous transaction in CDatabase::OnSetOptions function. It states 
     in help of CRecordset::Cancel() that use CRecordset::Cancel() to 
     cancel asynchronous transactions i. e. we can not use this Cancel() 
     function for synchronous transaction. And I am not able to get control 
     back on client or non client area of windows till query ends.
     
     Does anyone know how to get control back on screen after query on 
     Gupta data base starts execution using CDatabase and CRecordset 
     classes of MFC through ODBC (Gupta SqlBase Drive)?
     
     Akshay Patel




Kit Kauffmann -- kitk@mudshark.sunquest.com
Friday, June 28, 1996

>     MFC 2.5/VC++1.52C; Windows 3.1
>     
>     We are using CDatabase and CRecordset classes using ODBC (Gupta 
>     SqlBase Driver) with Gupta database system. 
>     
>     When we start an application we connect to database using 
>     CDatabase::Open function with object of CDatabase defined in 
>     application class (class derived from CWinApp). I went to debug mode 
>     to check all initialization on CDatabase object in CDatabase class and 
>     it sets as asynchronous transaction. But when we try to execute query 
>     using CRecordset::Open function call, MFC changes asynchronous to 
>     synchronous transaction in CDatabase::OnSetOptions function. It states 
>     in help of CRecordset::Cancel() that use CRecordset::Cancel() to 
>     cancel asynchronous transactions i. e. we can not use this Cancel() 
>     function for synchronous transaction. And I am not able to get control 
>     back on client or non client area of windows till query ends.
>     
>     Does anyone know how to get control back on screen after query on 
>     Gupta data base starts execution using CDatabase and CRecordset 
>     classes of MFC through ODBC (Gupta SqlBase Drive)?
>     
>     Akshay Patel

I program directly with the ODBC API (if that make any difference, and async 
mode calls work fine that way, though we use the generic MS ODBC driver with 
Sybase, which also might make a difference).

HTH!
Kit
Consciousness: that annoying time between naps.





| Вернуться в корень Архива |