1:怎么样把一个表了的一条记录(如:客户表的“客户名称”字段)赋给combobox的items里,当然combobox所在的窗体上可能根本任何连接到那个要用到的数据表的组件
2:做个管理合同的小软件,每一份合同的挡案需要用一张表记录起来,如合同的签定时间、金额、首付款、等。这些是比较容易,但合同的文本也要保存到表里就好象不方便了,因为有些合同的文本上万字都有,我设想把合同文本当做一个文件名来做一个记录,当调用这个文件名时再产生(跳出)一个文本,这个文本放在程序的固定目录下。不知道行不行。如果行我也不知道怎么做?望高人指点啊!

解决方案 »

  1.   

    combobox.item:=clientdataset.fields[0].asstring;
      

  2.   

    初学者,能详细解释一下(clientdataset.fields[0].asstring)吗?
      

  3.   

    怎么样把一个表了的一条记录(如:客户表的“客户名称”字段)赋给combobox的items里,当然combobox所在的窗体上可能根本任何连接到那个要用到的数据表的组件
    还有就是要把选择出来的记录保存到另一张表里作为一个记录(一张表里的主键问另一张表的外键),
      

  4.   

    就是combobox.item:=clientdataset.fieldbyname('TNO').asstring;的另一种写法
      

  5.   

    我设想把合同文本当做一个文件名来做一个记录,当调用这个文件名时再产生(跳出)一个文本,这个文本放在程序的固定目录下
    这样做可以,显示时用memo1.loadfromfile(path)
      

  6.   

    So tired today. Want to go to bed. So wait till tomorrow you'll see my answer if nobody tell you.
      

  7.   

    combobox.item.add(clientdataset.fieldbyname('TNO').asstring)
      

  8.   

    procedure TMainForm.CbbOnExitOrOnEnter(combobox1:tcombobox;table:string;field:string;kind:integer);
    var Cbb_OnExit_SQlcount:integer;
        cbb_OnEnter_i,cbb_OnEnter_SqlCount:integer;
    begin
     //CbbOnExitOrOnEnter(combobox1,'customer_info','customer_name',1);
     if kind=1 then //离开焦点
     begin
     if trim(combobox1.Text)<>'' then
     begin
     with dm.ADOQuery_water1 do
        begin
          close;
          sql.Clear;
          sql.Add('select *');
          sql.Add('from');
          sql.Add(Table);
          sql.Add('where');
          sql.Add(field);
          sql.Add('='''+trim(combobox1.Text)+'''');
          prepared;
          open;
          Cbb_OnExit_SQlcount:=dm.ADOQuery_water1.Recordset.RecordCount;
          if Cbb_OnExit_SQlcount<>0 then
            begin
            end
            else
             begin
              messagedlg('对不起,你的输入有错,因为它还未存在于数据库中,就重新输入',mtinformation,[mbok],0);
              combobox1.Text:='';
              combobox1.SetFocus;
             end;
        end;
     end;
     end;
     if kind=2 then //OnEnter;下拉选项
     begin
     with dm.ADOQuery_water1 do
        begin
          close;
          sql.Clear;
          sql.Add('select distinct');
          sql.Add(field);
          sql.Add('from');
          sql.Add(Table);
          sql.Add('order by');
          sql.Add(field);
          prepared;
          open;
          combobox1.Items.Clear;
          cbb_OnEnter_SqlCount:=dm.ADOQuery_water1.Recordset.RecordCount;
          for cbb_OnEnter_i:=1 to cbb_OnEnter_SqlCount do
            begin
              combobox1.Items.Add(trim(Fieldbyname(field).AsString));
              dm.ADOQuery_water1.MoveBy(1);
            end
        end;
     end;
    end;
      

  9.   

    clientdataset.first;
    while not clientdataset.eof do
    begin
      combobox.item.add(clientdataset.fieldbyname('TNO').asstring)
      clientdataset.next;
    end;
      

  10.   

    同意Suuare,我说过,Circle就是好方法。在程序中许多问题都能解决!!可惜就是没人理。
      

  11.   

    combobox.text:=clientdataset.fieldbyname('TNO').asstring
      

  12.   

    第一个问题:
        combobox1.item.add('………………');
    第二个问题:可以,把存放文件的文件名放到记录中,然后可以根据记录值来打开指定目录下的文件。