这是什么狗屁错误,真烦死我了!(100分)

  • 主题发起人 主题发起人 formatdisk
  • 开始时间 开始时间
F

formatdisk

Unregistered / Unconfirmed
GUEST, unregistred user!
错误的发生是这样的:
目的:用一个QUERY从后台循环查询数据到本地数据库.
方法:1、在FORM的ACTIVE中创建线程MYTHREAD1,并在创建后线程自动执行。
2、在线程的EXECUTE中循环执行函数GETDATA(i)i从1到14。
3、GETDATA中创建QUERY1和TABLE1,并赋值,开始查询,并将查询结果
用MOVEBATCH移动到TABLE1中。一次循环结束将QUERY1和TABLE1释
放掉。
结果:在首次循环时程序正确,进入第二次循环后,执行到QUERY1.OPEN
时出现“访问强奸(Access violation)”(笑).这是什么错误,
请指正,她快把我逼疯了!
如需程序代码请E me:formatdisk@netease.com
 
看看你的说明, 想不出有什么问题. 如果你用的是D4, 发过来看看.
 
用个SESSION,把AUTONAME设置为TRUE试一下(如果你是动态建立QUERY/TABLE的)
详细情况参见有关SESSION AUTONAME 的例子
许多 VCL 不是线程安全的(不包括QUERY)注意不要用它们
 
若你的Query,或Store Procedure 用到参数传递请注意,
有些参数返回时为空,则第二次运行时会报错。
解决方法是 ...paramby('xxx').clear;
 
线程中请使用Session ,即每个线程都使用自己的session , 看看
Delphi 中的BackQuery的例子吧.
 
should use Tsession or lock other thread when executing this thread
 
多人接受答案了。
 
后退
顶部