我写一个程序,用ADO访问ACCESS数据库。
在多个线程中用recordset的update方法更新数据库,它们共享一个连接。
经常出现"该操作不被允许"的错误.
有什么方法能解决该问题,当然前提还是希望共享一个连接,因为不可能
为每一个recordset开一个连接
在多个线程中用recordset的update方法更新数据库,它们共享一个连接。
经常出现"该操作不被允许"的错误.
有什么方法能解决该问题,当然前提还是希望共享一个连接,因为不可能
为每一个recordset开一个连接
CString strSQL;
strSQL = "delete from program where programID ="+strPrgID;
try
{
m_pConnectionPrgDB->BeginTrans();
m_pConnectionPrgDB->Execute(_bstr_t(strSQL),NULL,NULL);
m_pConnectionPrgDB->CommitTrans();
}catch(...)
{
AfxMessageBox("error");
return;
}
但访问同一个表
所以你不能同时打开同一个表。
就应该是支持多线程的呀
不能用DAO,这个是不支持多线程的。
OLE DB可以,但是如果共享一个连接还是比较麻烦的,线程退出的时候资源卸载比较麻烦。建议每次都新开一个连接,我做过测试,OLE DB连接ACCESS是很快的。
出现"该操作不被允许"这中错误,也许还有其他原因。