DM.QrySour.Close;
      DM.QrySour.SQL.Clear;
      DM.QrySour.SQL.Add('select * from kh_k');
      DM.QrySour.Open;
      for i :=0  to DM.QrySour.RecordCount do
        begin
       ...
      end;
为什么  DM.QrySour.RecordCount 这句话,我设置断点查看时值为-1,在前面的程序这句代码除了表名不一样,对其它9张表的查询都工作的很好,请问为什么会突然值为-1呢,kh_k中肯定有数据的?

解决方案 »

  1.   

    就是不清楚啊,代码执行到那里RecordCount值就为-1了。郁闷啊
      

  2.   

    当查询结果为空进 RecordCount 的值为空。
    忠告:最好不要用RecordCount,因为RecordCount 得出的结果不一定正确。
    为什么不这样:
    while not DM.QrySour.eof do
    begin
      ...
      DM.QrySour.Next;
    end;
      

  3.   

    没有看出你要问的错误,不过看了一个小问题DM.QrySour.RecordCount-1
    不然就会多一个出来:)
    for i :=0  to DM.QrySour.RecordCount-1 do
    begin
    ........
    end;
      

  4.   

    你叫我!
    他的方法好用tglong(dragon)