不一定要用这个控件,但我的目的是要:从这个表中读取记录选择,同时也可以输入表中没有的数据,,该如何做??感谢赐教!!!

解决方案 »

  1.   

    不用LookupComboBox就好做了,你可以用个EDIT通过SQL语句查询出来,如果不是需要的在进行输入保存。
      

  2.   

    放一个datasource,adotable控件
    DBLookupComboBox1的listsource连datasource连adotable1
    listfield里写你要在DBLookupComboBox1里显示的字段
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    adotable1.Active:=true;
    end;
    procedure TForm4.DBLookupComboBox1CloseUp(Sender: TObject);
    begin
        {你想加的代码/也可以写记录到数据库}
    end;
      

  3.   

    你是在DBGRID中使用LookupComboBox的吗?如果是话把它和DBGRID关联起来就可以了
      

  4.   

    用普通的COMBOBOX就好解决了,CREATE事件内从表内读取你想要的数据,在COMB旁边放一个按钮,进行添加操作,然后每次刷新即可。
      

  5.   

    同意楼上和楼上的楼上
    不要用lookup就ok了
    呵呵,更灵活
      

  6.   

    手工输入的自动添加  if Trim(ComboBox9.Text) <> '' then
         with DM1.ADOQ0 do
         try
           //是否已经存在
           Close;
           SQL.Clear;
           SQL.Add('select count(*) from marry.dbo.dictionary where id = 17 and ltrim(rtrim(name)) = ''' + Trim(ComboBox9.Text) + '''');
           Open;
           //
           if Fields.Fields[0].AsInteger = 0 then
              begin
                //统计现有会员性格的条目数量 tx_num
                Close;
                SQL.Clear;
                SQL.Add('select count(*) from marry.dbo.dictionary where id = 17');
                Open;
                xg_num := Fields.Fields[0].AsInteger;
                //插入输入的会员性格
                Close;
                SQL.Clear;
                SQL.Add('insert into marry.dbo.dictionary values(17,' + InttoStr(xg_num) + ',''' + Trim(ComboBox9.Text) + ''')');
                ExecSQL;
                //添加
                ComboBox9.Items.Add(Trim(ComboBox9.Text));
                ComboBox21.Items.Add(Trim(ComboBox9.Text));
                ComboBox9.ItemIndex := xg_num;            
              end
         except
           Application.MessageBox('处理会员性格失败!!','警告',MB_OK);
           exit;
         end
      

  7.   

    LookupComboBox是只读的.可以转向数据库里添加就可以了.
    //可以参考楼上的