F
fu_qi_ming
Unregistered / Unconfirmed
GUEST, unregistred user!
我有这样一线程,他主要是连接数据库和查询数据库的,他的Tdatabase,TQuery用的主线程的
Tsession用的默认Default.主线程是界面操作,每一时刻都保证,只有一个线程操作数据库.
问题:因为网络原因或查询的数据量太大.有些数据库操作化费时间太长.无法忍受.需要中断
线程.请问怎样中断?
方法:1,用Thread.Terminate;不行.因为在Thread.Execute中,因为线程中,只是一个查询或
连接数据库,没有循环,无法判断Thread.Terminated的值来退出线程.
2,用TerminateThread();中断,以后数据库怎么也连接不上执行到Database.Open死在
那里,不能操作不知为何?(是不是这个Api的没有释放资源的问题.会不会对他有影
响,我想不同资源没有释放怎么会影响Database连不上数据库)
请问有什么更好的办法.在查询耗时长,保证资源释放,又能重新连接数据库操作的办法.如果
不行,只要能结束线程,能继续操作数据库即可.资源不能释放就算了.
Tsession用的默认Default.主线程是界面操作,每一时刻都保证,只有一个线程操作数据库.
问题:因为网络原因或查询的数据量太大.有些数据库操作化费时间太长.无法忍受.需要中断
线程.请问怎样中断?
方法:1,用Thread.Terminate;不行.因为在Thread.Execute中,因为线程中,只是一个查询或
连接数据库,没有循环,无法判断Thread.Terminated的值来退出线程.
2,用TerminateThread();中断,以后数据库怎么也连接不上执行到Database.Open死在
那里,不能操作不知为何?(是不是这个Api的没有释放资源的问题.会不会对他有影
响,我想不同资源没有释放怎么会影响Database连不上数据库)
请问有什么更好的办法.在查询耗时长,保证资源释放,又能重新连接数据库操作的办法.如果
不行,只要能结束线程,能继续操作数据库即可.资源不能释放就算了.