在这个子线程的入口静态函数里面调用了下面的代码:
extern CDatabase m_dbConn;
CRecordset rs(&m_dbConn);
sprintf(cExistRecord,"select * from downRegist where downflag=0");
bOpen =rs.Open(CRecordset::snapshot,cDownflag);
if(Bopen==false)..
else ..
我想问:这段代码在其他地方(主线程)里面能正确RUN,为什么在一个静态函数里面就不行 啊?到底要如何改进它?
extern CDatabase m_dbConn;
CRecordset rs(&m_dbConn);
sprintf(cExistRecord,"select * from downRegist where downflag=0");
bOpen =rs.Open(CRecordset::snapshot,cDownflag);
if(Bopen==false)..
else ..
我想问:这段代码在其他地方(主线程)里面能正确RUN,为什么在一个静态函数里面就不行 啊?到底要如何改进它?
解决方案 »
- 怎么让.exe调用外部的.bmp文件作为界面内容???
- 关于套接字创建的问题。。
- 高分求《ActiveX开发人员指南》
- 创建在IE里使用的 ActiveX 控件问题?
- 如何在List空间的某一行的某一列上画一幅位图??求救高手了
- 我要运行的过程中创建切分窗口,请问该如何处理?
- 请问各位大哥谁知道在哪可以下到msdn2001光盘版(.iso)的,兄弟感激不尽
- !!关于vc中Date Time Picker控件的“bug”:
- 多线程下邮槽程序遇到的一个问题。。。。
- MFC 对话框 tab control 嵌套 tab control 问题
- 下载的MSDN扩展名是 *.ISO,怎么打开啊,不知如何安装啊
- 拖动对话框时的虚线边框如何去掉?
”extern CDatabase m_dbConn不要,把m_dbConn作为LPVOID参数行不行“
我当然没有把m_dbConn作为入口的参数啊!
而且,我只是“rs.Open(CRecordset::snapshot,cDownflag);”啊
我用CCriticalSection的lock()和unlock()也不行啊!
在子线程的入口函数里面,我调用了下面这个函数。
void Fun()
{
CCriticalSection cs;(这个cs不是类的成员变量,而是局部变量)
cs.Lock();
CRecordset rs(&m_dbConn);
sprintf(cExistRecord,"select * from downRegist where downflag=0");
bOpen =rs.Open(CRecordset::snapshot,cDownflag);
cs.Unlock();
}
老是出现“连接占线导致另一个hstmt”错误,但是:我改用一个全局的CCriticalSection就解决这个问题了!
但是:我把CCriticalSection定义为这个类的成员变量,无论怎么样都编译通不过,我已经加了头文件#include"afxmt.h",是否是因为该入口函数是静态函数的原因?