query1的sql好象是不对头,
试一试
query1.close;
query1.sql.clear;
query1.sql.add('....');
.....
...

解决方案 »

  1.   

    while not table1.eof
    ...
    query1.close;
    query1.par...('ch').asstring:=a;
    query1.PrePare;
    query1.open;
    ...
    table1.next;
    end
      

  2.   

    1 query1.sql中为'select * from ysgl where 车号=:ch'
    2 query1.PrePare试过,没用
      

  3.   

    1. 单机 用paradox,有无索引时均一样。
    2. 记录少时正常,大于500多条则故障.
    3. 内存等设置均正常
    4. 
      

  4.   

    对与 query1.open 无需使用 query1.prepare.
    对于 prepare 一般用法:
      ...
      ...
      query1.prepare;
      query1.execsql; //非open查询
      query1.unprepare;会不会是程序的其他地方出问题了?
      

  5.   

    最好在open之后, 迅速完成某项操作, 再Close.

    ....
    query1.Open;
    try
      query1.param....
      ......
    finally
      query1.Close;
    end;
    因为Tquery如果没有和数据感知控件(TDBGird等)相连, 
    又和Ttable一起用, 很容易出问题的(deadlock).
      

  6.   

    我在Delphi3.0加ODBC连SQL SERVER时发现有此问题(BDE中选择SQL SERVER)
    但改用BDE的MSSQL类型来连SQL SERVER中就不再有问题.
    建议换一种表结构和Driver Type试一试,如(dbase表)
      

  7.   

    注意在query1.open前必须加入这样一句:query1.prepare.