有关通过线程读取远程服务器上的数据的问题。(50分)

  • 主题发起人 主题发起人 huangbaili
  • 开始时间 开始时间
H

huangbaili

Unregistered / Unconfirmed
GUEST, unregistred user!
我做的程序后台数据库是存放在公网上的一台WEB服务器上的SQL数据库里的数据,程序的窗体是MDIFORM,当点击菜单在不同的窗体之间进行切换的时候,不同的窗体里的DBGRID里的数据会从远程服务器上读出来并显示,因为是远程的,所以每次切换窗体的时候,在窗体的ONACTIVE事件里读取数据,由于不象读本地数据一样那么快,所以会导致窗体显示的时候慢一点,给人的感觉会是界面的切换不平滑。我想可不可以这样实现,通过多个线程,在后台读取数据,然后通过同步,每次窗体的ONACTIVE事件发生的时候,刷新数据。这只是一个想法,不知具体如果实现,或者有更好的想法,请高手指点。谢谢!
 
你可以先讓窗體顯示,然後再取數據。也即在onactive時,再傳一個事件讓顯示數據,或者有個進度條。這樣好點
 
小小建议
每次单独显示一个窗体
在打开该窗体的时候在你的父窗体上用一个任务栏显示读取进度
说说而已...
 
窗体ONACTIVE创建线程(自动释放)并用线程的属性传入DBGRID和相应SQL语句,线程执行查询,完成时将结果付给DBGRID并自动释放,参见Delphi安装目录下的Demos/db/backqry例子
 
窗体ONACTIVE创建线程(自动释放)并用线程的属性传入DBGRID和相应SQL语句,线程执行查询,完成时将结果付给DBGRID并自动释放,参见Delphi安装目录下的Demos/db/backqry例子
 
后退
顶部