问题一:构建dbgrid显示出一个数据库,我想让构件combobox的下拉菜单出现数据库某字段的全不内容,如果有相同项只显示一项,比如在combobox的下拉菜单中显示数据库中姓名字段的全部姓名
问题二:我用table1进行查询
   table1.setkey;
   table1.fieldbyname('sn').asstring:='1';
   table1.gotokey;
  我想把查询的内容在dbgrid中显示,代码该怎么写。

解决方案 »

  1.   

    1.在SQL语句中加入DISTINCT就行了。
    2.就用DATASOURCE作个联结不就结了。
      

  2.   

    while not Table1.Eof do
      begin
        ComboBox1.Items.Add(Table1.FieldByName('姓名').AsString);
        Table1.Next
      end
      

  3.   

    补充。。在进行数据集记录循环前,先将执行combobox1.clear;否则你每执行一次上述内容,所显示的记录值将成倍增加。。还有,如果要将相同记录只显示一次,最好采用sql先过滤记录。
      

  4.   

    上面那段代码是参考Delphi的帮助里的,你可以自己去帮助中看,这样对你解决问题会有很大的好处。方法是在Form中选中DBComboBox控件,然后按“F1”键就可以了。我也是新手!呵呵!
      

  5.   

    问题二,你加DataSource了没?添加一个DataSource,然后把DataSource连接到Table1上,再把DBGrid连到DataSource上,就可以了。
      

  6.   

    你的第二个问题,一般的DELPHI书上都会有的,找本书看下吧,或者直接去看帮助文件。