我是一个新手,我想在comboBox1当中显示我们学校所有的系别,之后在comboBox2当中显示该系别相对应的专业,应该怎么做?多谢各位仁兄帮忙!

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with AdoQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select distinct 系别 from tabel2 ');
        Open;
        ComboBox1.Items.Clear;
        while not Eof do
        begin
          ComboBox1.Items.Add(FieldByName('系别').AsString);
          Next;
        end;
      end;
    end;procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      with AdoQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select 专业 from tabel1 where 系别=' + QuotedStr(ComboBox1.Text));
        Open;
        ComboBox2.Items.Clear;
        while not Eof do
        begin
          ComboBox2.Items.Add(FieldByName('专业').AsString);
          Next;
        end;
      end;
    end;
      

  2.   

    在comboBox1的OnChange下写代码  if ComboBox1.Text = '学校所有的系别' then
        ComboBox2.ItemIndex :=ComboBox2.Items.IndexOf('对应的专业');
      

  3.   

    还是 hqhhh(枫叶) 的方法可行,虽然速度要慢一点,
     因为一个系里有很多专业,
    但不知优华写的什么?没有看明白,难道一个系里只有一个专业?
    而且也必需要先从库里读出系别和专业的数据吧。