现在再做一项统计,数据一千七百万条,我遇到了两个问题,第一个,在给一个参数赋值时,用query1.paramByname('apnno4').asstring:=tempstr;编译告诉我说找不到appno4,没办法,我用了query1.params[0].asstring:=tempstr则可以通过。
为什么(appno4对应的是0)还有疑问,因为是一千七百万条记录,每次运行时,总告诉我磁盘空间不够了,这种问题如何解决,谢谢

解决方案 »

  1.   

    query1.paramByname('apnno4').asstring:=tempstr---->query1.FieldByname('apnno4').asstring:=tempstr第二个问题是因为对他查询的内容要放到磁盘的缓存中导致的结果
    解决方法改下查询条件,不要让他一次出所有记录
      

  2.   

    楼上说得对!
    query1.params[0].asstring对应的是字段的位置。可能你的apnno4是第一个字段所以对应params[0],第二个是params[1]依此类推。但是不建议采取这样的形式。这是相对的位置,一旦你要加字段或减字段位置就不准确了,还是建议用query1.paramByname('apnno4').asstring