adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add('select itm,fkyear');
      adoquery1.SQL.Add('from zd_tf_fk   where fk_no='+''''+str+'''');
      if not adoquery1.Prepared then adoquery1.Prepared:=true;
      adoquery1.Open;
      adoquery1.First;
      for j:=0 to adoquery1.RecordCount-1 do begin
          Tedit(findcomponent('itm'+inttostr(j))).Text:=adoquery1.Fields[0].AsString ;
          Tcombobox(findcomponent('year'+inttostr(j))).Text:=adoquery1.Fields[1].AsString;
          adoquery1.Next;
      end; 为什么itm、year(Tedit)不能添入sql查出来的值呢?这样写不对么?

解决方案 »

  1.   

    to  xixuemao(俺可是㊣②㈧经儿滴人) 
    我用showmessage过了,完全没问题,所以我不明白为什么不对
    谢谢
      

  2.   

    adoquery1.SQL.Add('select itm,fkyear');
    adoquery1.SQL.Add('from zd_tf_fk   where fk_no='+''''+str+'''');改为:在查询里加多一个fk_noadoquery1.SQL.Add('select fk_no,itm,fkyear');
    adoquery1.SQL.Add('from zd_tf_fk   where fk_no='+''''+str+'''');
      

  3.   

    Tcombobox(findcomponent('year'+inttostr(j))).Add应该是用Add, 而不是 text 吧??
    Tedit(findcomponent('itm'+inttostr(j))).Text:=
     Tedit(findcomponent('itm'+inttostr(j))).Text +  //这里
    adoquery1.Fields[0].AsString ;