对tquery连续执行几次,就死了,为何

snow 2000-01-02 01:08:00
while not table1.eof
...
query1.close;
query1.par...('ch').asstring:=a;
query1.open;
...
table1.next;
end;
...全文
270 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyb 2000-01-06
  • 打赏
  • 举报
回复
注意在query1.open前必须加入这样一句:query1.prepare.
supershan 2000-01-05
  • 打赏
  • 举报
回复
这个问题太简单了,你把代码贴全了让我瞧瞧!
tiger 2000-01-04
  • 打赏
  • 举报
回复
最好在open之后, 迅速完成某项操作, 再Close.

....
query1.Open;
try
query1.param....
......
finally
query1.Close;
end;
因为Tquery如果没有和数据感知控件(TDBGird等)相连,
又和Ttable一起用, 很容易出问题的(deadlock).
渤海海峡 2000-01-04
  • 打赏
  • 举报
回复
对与 query1.open 无需使用 query1.prepare.
对于 prepare 一般用法:
...
...
query1.prepare;
query1.execsql; //非open查询
query1.unprepare;

会不会是程序的其他地方出问题了?
hudehai 2000-01-04
  • 打赏
  • 举报
回复
我在Delphi3.0加ODBC连SQL SERVER时发现有此问题(BDE中选择SQL SERVER)
但改用BDE的MSSQL类型来连SQL SERVER中就不再有问题.
建议换一种表结构和Driver Type试一试,如(dbase表)
tiger 2000-01-03
  • 打赏
  • 举报
回复
你的数据库是什么?
snow 2000-01-03
  • 打赏
  • 举报
回复
1. 单机 用paradox,有无索引时均一样。
2. 记录少时正常,大于500多条则故障.
3. 内存等设置均正常
4.
LaoZheng 2000-01-02
  • 打赏
  • 举报
回复
while not table1.eof
...
query1.close;
query1.par...('ch').asstring:=a;
query1.PrePare;
query1.open;
...
table1.next;
end


kxy 2000-01-02
  • 打赏
  • 举报
回复
query1的sql好象是不对头,
试一试
query1.close;
query1.sql.clear;
query1.sql.add('....');
.....
...
amo 2000-01-02
  • 打赏
  • 举报
回复
你想完成什么功能?
barton 2000-01-02
  • 打赏
  • 举报
回复
table1与query1有冲突?
snow 2000-01-02
  • 打赏
  • 举报
回复
1 query1.sql中为'select * from ysgl where 车号=:ch'
2 query1.PrePare试过,没用
3

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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