社区
数据库
帖子详情
关于CDataBase与CRecordSet的问题,在线等待……
zhan_yonghua
2003-07-02 03:12:33
请问能不能在程序一开始打开一个CDataBase,然后所有的CRecordSet共享这个CDataBase连接?
我在多个线程中通过同一个CDataBase打个相同的CRecordSet进行读写有没有什么问题?
...全文
33
14
打赏
收藏
关于CDataBase与CRecordSet的问题,在线等待……
请问能不能在程序一开始打开一个CDataBase,然后所有的CRecordSet共享这个CDataBase连接? 我在多个线程中通过同一个CDataBase打个相同的CRecordSet进行读写有没有什么问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhan_yonghua
2003-07-04
打赏
举报
回复
兄弟姐妹们,原来是ORACLE的问题,SQORA32.DLL有BUG,换成ORACLE9I就没问题了,大家也试试,看我的判断是否属实。
测试方法只要在多线程小同时访问一个数据库的一个或多个表,且表中记录要大于一万条。看看有何结果!
cdwy411
2003-07-03
打赏
举报
回复
应该可以的,如果多线程读的话,需要用一些互斥量来保证不发生冲突,
或许对数据库的打开方式进行一些设定也是可以的
jvcit
2003-07-03
打赏
举报
回复
应该可以
gister
2003-07-03
打赏
举报
回复
可以多个线程通过一个CDataBase取多个数据集,数据库自己会做出理,不会产生冲突,关于缓冲的问题也无需做太多的考虑,只要你的内存足够大就可以了。
kickmaster
2003-07-03
打赏
举报
回复
CDataBase连接可以实现长连接,
多个CRecordSet可以就使用这一个CDataBase,但是每个CRecordSet在操作完成后必须释放,
必须捕获CDBException,不然会导致一个数据库连接占用的异常。
zhan_yonghua
2003-07-03
打赏
举报
回复
还是很感谢啊,至少可以帮我肯定一下问题,我是一愁莫展!!!!!
孤必有邻
2003-07-03
打赏
举报
回复
可以共用一个CDatabase,我也这样做过。
也不需要线程同步,就象你说的,数据库会处理。
(其实我什么忙也没帮)
zhan_yonghua
2003-07-03
打赏
举报
回复
继续UP
zhan_yonghua
2003-07-03
打赏
举报
回复
UP
zhan_yonghua
2003-07-03
打赏
举报
回复
我想应该不要线程同步吧,后台数据库不是已经帮我们实现了这些吗?
zhan_yonghua
2003-07-02
打赏
举报
回复
UP
zhan_yonghua
2003-07-02
打赏
举报
回复
如果多个线程打开相同的记录集会怎么样,会发生冲突吗?
另外如果记录集所对应的表相当大,就像我的这个表有上万条记录,是不是要设置数据缓冲区之类的东西?
sunny6281
2003-07-02
打赏
举报
回复
可以
我就是这么做的:)
不过我只用了一个线程。
zhan_yonghua
2003-07-02
打赏
举报
回复
兄弟姐妹们快来帮帮忙啊……
数据库编程总结
数据库编程总结当前各种主流数据库有很多,包括Oracle, MS SQL Server, Sy
base
, Informix, MySQL, DB2, Inter
base
/ Firebird, PostgreSQL, SQLite...数据库编程分为数据库客户端编程与数据库服务器端编程。数据库客...
数据库
C
Recordset
recset(&data
base
); 3.查询记录 CString sSql1=""; sSql1 = "SELECT * FROM tablename" ; recset.Open(C
Recordset
::forwardOnly, sSql1, C
Recordset
::readOnly); int ti=0; ...
VC 基础知识(转载)
可以把句柄理解为与指针类似。用户必须通过某种方式来创建句柄,并要保证在使用完后销毁,以免造成资源的浪费。2存储器内存,随机存储器,它的一个重要特性就是,任何位置或字节都能以固定的时间进行访问。只读...
我的一个关于文件的程序 - [C语言]
2005-09-05我的一个关于文件的程序 - [C语言]#includevoid main(){char ch;FILE* fp;if((fp=fopen("test.txt","r"))==NULL){printf("error");exit(1);}fseek(fp,0L,2);while((fseek(fp,-1L,1))!=-1){ch=fgetc(fp);pu
VC常用代码
} ………8,线程与信号量 //1,定义信号量句柄 HANDLE event; //2,创建信号量 event=CreateEvent(NULL, TRUE, FALSE, NULL); //3,创建线程: //1)定义线程函数,格式必须如下,其中lParam为AfxBeginThread的第二个参数...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章