...
...
query1.sql.Add('insert into standrd(DEPT_ID,STANDARD_NAME,BASE_CENT,PER) values ('''+combo1.Text+''','''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')');
...
...

解决方案 »

  1.   

    用DBLookupComboBox,设置DBLookupComboBox.keyfield->DEPT_ID,
    DBLookupComboBox.listfield->content
    DEPT_IDDBLookupComboBox1.KeyValue对应DEPT_ID DBLookupComboBox1.Text对应content
      

  2.   

    您就当是灌水吧:)
    定义一个全局变量; DEPT_ID_Value;
    ComboBoxonChange事件里写;

    if CombobBox.Text <> '' then
    begin
      DEPT_ID_Value := Query.FieldByName('DEPT_ID').AsString;
      //Query对应于ComboBox的字段的DataSet;
    end ;保存:
    ...
    Query1.SQL.Add('Insert into standrd(DEPT_ID,STANDARD_NAME,BASE_CENT,PER) values (#39+DEPT_ID_Value +#39,#39+edit1.Text+#39,#39+edit2.Text+#39,#39+edit3.Text+#39)');注意书写格式;
      

  3.   

    这个问题已经解决了,见http://www.csdn.net/expert/topic/761/761930.xml?temp=.2817652谢谢大家的帮忙!!
      

  4.   

    你可以定义一变量来记录combobox中的信息对应的ID号。
    或者在数据库中的表2中写触发器也可实现。