我有一表,表中有ID字段为主键,其他字段为允许空,使用AdoQuery连接表,SQL语句为Select * from xxx,现在定义AdoQuery上的Fields,Add all Fields后加入一个Lookup filed,然后在语句中加入 ADOQuery.Insert后报错,提示为“''is not a valid Integer value”,各位大侠,小弟应该怎么办? 

解决方案 »

  1.   

    可是我还没有到赋值的语句呢,我一般都是写
    with ADOQuery do
    begin
      Insert;                 <--这里就出现错误了
      FieldByName('id') := id;
    end;
      

  2.   

    原因是计算字段在插入时触发了计算字段的计算事件
    用AppendRecord(...)看可以吗?
      

  3.   

    我现在很少用Lookup,确实不太方便,我现在功能都在Field 的OnGetText 中实现。