回 帖 发 新 帖 刷新版面

主题:我写的这个函数帮看下哪儿错了

我写的这个函数帮看下哪儿错了,或少什么吗?
procedure TFormProduct.FormCreate(Sender: TObject);
var SelectField:String;
    A,B,A1,B1:String;
begin
  A:='品牌';
  B:='产品类别';
  A1:='DBComboBox3';
  B1:='DBComboBox2';
  SelectField(A,A1);
  SelectField(B,B1);
end;
//***************取字段值***************//
{Function SelectField(fieldKeyW,Combo:String):String;
  begin
  FormConn.adoquery3.Close;
  FormCOnn.ADOQuery3.SQL.Text:='Select '+fieldKeyW+' from Brand';
  FormConn.ADOQuery3.open;
  While Not FormCOnn.ADOQUery3.Eof DO
    Begin
      FormConn.ADOQuery3.First;
      Combo.Items.Add(FOrmCOnn.ADOQUery3.fieldByName(''+fieldKeyW+'').AsString);
      FormCOnn.ADOQUery3.Next;
    End;
  end;
}

回复列表 (共3个回复)

沙发

我帮你改动了几处,你对照看一下:
procedure TFormProduct.FormCreate(Sender: TObject);
var 
  A,B: string;  
begin
  A:='品牌';  //取个英文的字段名较好
  B:='产品类别';  
  SelectField(A,DBComboBox3);
  SelectField(B,DBComboBox2);
end;
//***************取字段值***************//
Function SelectField(fieldKeyW: String; Combo: TDBComboBox): Boolean;
begin
  FormConn.adoquery3.Close;
  FormCOnn.ADOQuery3.SQL.Text:='Select ' + fieldKeyW + ' from Brand';
  FormConn.ADOQuery3.open;
  FormConn.ADOQuery3.First;
  while Not FormCOnn.ADOQUery3.Eof DO
  begin      
    Combo.Items.Add(FOrmCOnn.ADOQUery3.fieldByName(fieldKeyW).AsString);
    FormCOnn.ADOQUery3.Next;
  end;
end;

板凳

您好,我照那样的方法对了,可是当选定DBComboBox没有值,怎么办

3 楼

把 DBComboBox的属性Style 设置为csDropDownList 即可。

我来回复

您尚未登录,请登录后再回复。点此登录或注册