如果使用SQLQuery控件,需要使用fieldbyname方法?用字段名还是用字段值?字段值是未知的,不用字段值怎么搞?

解决方案 »

  1.   

    edit1.text:= SQLQuery.fieldbyname('字段名').asstring;
      

  2.   

    edit1.text:= SQLQuery_sample.Fields[1].Value ; //不知道字段
    edit1.text:= SQLQuery.fieldbyname('字段名').asstring; //知道字段
      

  3.   

    fieldbyname用字段值,从语义上也应该知道呀
      

  4.   

    可以在数据集的AfterScroll事件中将当前记录的字段值赋给Edit控件的Text属性procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
    var
      i: Integer;
      edt: TEdit;
    begin
      for i := 0 to DataSet.FieldCount - 1 do begin
        edt := TEdit(FindComponent(DataSet.Fields[i].FieldName));
        if edt <> Nil then
           edt.Text := DataSet.Fields[i].AsString;
      end;
    end;