下面的记录通过多表关联得到:
      Field_id  KeyCode           Field_value
1 BH          2004001
2 BJDR          国际饭店
3 FDDBRFZR          张三
4 DZ          解放路001号
5 LXDH          010-11111111
6 JDYJ          AAAAAAAAAABBBBBBBBBB
7 BJDRQS          王五
8 BJDRQSRQ          2004-03-27
9 WSXZJGMCBGZRQ 2004-03-27
其中KeyCode为窗体中的控件Edit的名称,设计的时候初始化进数据库,Field_value
为该字段的值。案例:假如窗体A中输入控件的名称对应KeyCode的值,通过这个关系往Field_value中插如值或取得值。该怎么做?

解决方案 »

  1.   

    select Field_value from table where  TEdit(KeyCode).text= '''++''' '
      

  2.   

    function SetFormEditValue(frm: TForm): boolean;
    Const
     CSQLString='select Field_value from table where  KeyCode = ''%s'' ';
    var
      FEdit :TEdit;
      FStr:String;
      I: Integer;
    begin
      Result := False;
      for I := 0 to frm.ComponentCount - 1 do
      begin
        if (frm.Components[I] is TEdit) then
        begin
           FEdit := TEdit(frm.Components[I]);
           //查询TEdit的名称在数据库有没有,没有返回'';
           FStr := GetQueryValue(Foramt(CSQLString,[FEdit.FieldName])); 
          if  FStr<>'' then FEdit.Text:=FStr ;
        end;
      end;
    end;
      

  3.   

    for I := 0 to ComponentCount - 1 do
      begin
        if (Components[I] is TButton) then
        begin
           operation;
        end;