關于 線程內使用數據庫的問題

rokia 2002-11-11 10:49:27

數據庫用的是MFC 的 CDaoDatabase類。

是個對話框程序。在初始化的時候打開數據庫。

如果不另開新線程的話,訪問數據庫是沒有問題的。

可是我現在另外開了一個新線程進行數據庫的操作,執行到這一句時:
m_pDB->Excute(sql); // m_pDB是一個 指向 CDaoDatabase 的指針。

就會出現 0x000005,access violation.錯誤。

為什么?

...全文
30 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rokia 2002-11-12
  • 打赏
  • 举报
回复
还有这事? 那算了, 我不用多线程了。

哭什么,男人不哭。
BlackSword 2002-11-12
  • 打赏
  • 举报
回复
男人哭吧哭吧不是罪!当然,有点受罪!
rokia 2002-11-11
  • 打赏
  • 举报
回复
好象不太一樣。

最好能告訴我原因。 為什么在線程里面就不行了?

是因為權限的原因嗎?
qing_li73 2002-11-11
  • 打赏
  • 举报
回复
See the link below, FYI :

http://codeguru.earthweb.com/mfc_database/daothreadfix.shtml
dai2255 2002-11-11
  • 打赏
  • 举报
回复
奉劝各位不要再用DAO了.我第一次在dll里面用dao,每次程序退出时都出错.找了半天,在MSDN的一个小角落里发现说在dll里面使用dao要调用一个什么AfxDaoTerm.后来还有一次和楼上这位一样在多线程里用dao,出错.查MSDN说dao不支持多线程.我当场晕倒.写好的程序全部作废.唉,当时我真恨不能把微软做dao的人都干掉
疯烛 2002-11-11
  • 打赏
  • 举报
回复
DAO不支持多线程?
dai2255 2002-11-11
  • 打赏
  • 举报
回复
数据库的老大,你别吓我.
我现在连那本 数据库基础教程 还没看完
实在是数学理论太多,头大
疯烛 2002-11-11
  • 打赏
  • 举报
回复
dai2255,有意思,是数据库的老大吧?
dai2255 2002-11-11
  • 打赏
  • 举报
回复
不是,DAO不支持多线程,苦吧
哭玩改用ADO

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧