procedure TInstudentFrm.RKBtnClick(Sender: TObject);
begin
  qy_instut.SQL.Add('insert into student(id,name,age,sex,classb,province,memo) values(:s_id,:s_name,:s_age,:s_sex,:s_classb,:s_provice,:s_memo)');
  if (edt_id.Text = '') then messagedlg('学号不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_id').AsString:=edt_id.Text;
  if (edt_name.Text = '') then messagedlg('学生姓名不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_name').AsString:=edt_name.Text;
  if (edt_age.Text = '') then messagedlg('学生年龄不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_age').AsString:=edt_age.Text;
  if (edt_sex.Text = '') then messagedlg('学生性别不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_sex').AsString:=edt_sex.Text;
  if (cb_class.Text = '') then messagedlg('学生班级不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_classb').AsString:=cb_class.Text;
  if (edt_provice.Text = '') then messagedlg('学生所在省份不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_provice').AsString:=edt_provice.Text;
  if (edt_memo.Text = '') then messagedlg('备注不能为空!',mtError,[mbOK],0)
  else
  begin
  qy_instut.ParamByName('s_memo').AsString:=edt_memo.Lines.GetText;
  qy_instut.ExecSQL;
  messagedlg('新生:'+ edt_name.Text+chr(10) + chr(13) + '已经成功入库!',mtinformation,[mbYes],0);
  qy_instut.Close;
  end;
  end;
  end;
  end;
  end;
  end;
  end;
end;不知道为什么第二次提交时会有出错,第一次可以提交成功的!!
希望大虾门指点。