if not form2.adoquery1.active then form2.adoquery1.open这句话有问题 应该这样写: if not form2.adoquery1.active then form2.adoquery1.Active := True; 然后在执行你下面的 form2.ADOQuery1.Edit; form2.adoquery1.FieldByName('人员代码').AsString:=edit1.Text; form2.adoquery1.FieldByName('姓名').AsString:=edit2.Text; form2.adoquery1.FieldByName('性别').AsString:=combobox1.Text; form2.adoquery1.FieldByName('出生日期').AsString:=datetostr (datetimepicker1.Date); 最后 form2.adoquery1.post; 这样看看可以吗?