使用BDE进行多线程数据库开发,如果不使用TSession会出现什么问题?

bigban 2002-02-05 02:59:22
我有一个进行数据查询的类,使用了TDatabase,TTable,TQuery,但没有使用TSession
现在我在一个线程中使用该类,程序也能正常执行.请教高手,如果多线程数据库设计中不使用TSession会有什么问题呢?
...全文
127 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hachenzhonghua 2002-02-05
  • 打赏
  • 举报
回复
关注
bigban 2002-02-05
  • 打赏
  • 举报
回复
to cobi
我说不使用TSession意思是不显式地建立一个TSession实例,也不使用TDatabase.SessionName := TSession.SessionName,TQuery.SessionName := TSession.SessionName......
cobi 2002-02-05
  • 打赏
  • 举报
回复
你只要只用BDE,不论你愿不愿意,你都在使用TSession。
大哥说的对,不过你最后的提法还是有点不怎么明白。
我觉得这种“隐患”还是可能要到真正发生的时候才能找对策,因为现在还不知道它有什么危害
chechy 2002-02-05
  • 打赏
  • 举报
回复
那就是按照我的一种方法,如果将TDatabase的HandleShared设为True。这样在提交数据时可能会造成瓶颈。当然对资源是非常节省的。TSession的缺点在于消耗资源。
bigban 2002-02-05
  • 打赏
  • 举报
回复
to chechy
谢谢你的回答.
我也知道应使用TSession,但我无法改变原来的类,只能使用它.而我又想在一个线程中使用它.虽然现在还看不出有什么问题,但总感觉程序有隐患,所以请教大家如不使用TSession会有什么问题
dgzdx 2002-02-05
  • 打赏
  • 举报
回复
加到60分了!!!
抱朴守拙 2002-02-05
  • 打赏
  • 举报
回复
学习
chechy 2002-02-05
  • 打赏
  • 举报
回复
你只要只用BDE,不论你愿不愿意,你都在使用TSession。
只要你uses DBTables,那么就会建立一个default的Session,不论你愿不愿意,这个Session都在起效应。

另外,在线程中,可以有两种选择:
1、TDatabase的HandleShared属性设为True。
2、加入TSession控件在线程中,同时将AutoSessionName设为True。相应的TDatabase、TTable等控件的Session也要连接到对于地TSession上。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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