每次选用修改功能时,都会出现以下错误 (adoquery1:commandtext does not return a result set) 
  选添加时就能正常啊,不明白啊,如何改procedure Tmodisf_form.Btn_okClick(Sender: TObject);
var  sqlstr,sqlstr1,mph,bh,sfrq:string;
    sf,df,qf,wgf,qtf:Double;
begin
  mph:=Trim(mph_edit.Text);
  if length(mph)<=0 then
  begin
    ShowMessage('门牌号吾能为空,请输入!');
    mph_edit.SetFocus;
    exit;
  end;
  bh:=Trim(bh_edit.Text);
  sf:=strTofloat(sf_edit.Text);
  df:=strToFloat(df_edit.Text);
  qf:=strToFloat(qf_edit.Text);
  wgf:=strToFloat(wgf_edit.Text);
  qtf:=strToFloat(qtf_edit.Text);
  sfrq:=Trim(dateTimeToStr(rq_dtp.DateTime));  if wgsf_form.modi then
    sqlstr:='update sfb set (sf=:sf df=:df qf=:qf wgf=:wgf qtf=:qtf) where (bh='''+bh+''') and (mph='''+mph+''')'
  else
  begin
    sqlstr:='insert into sfb (bh,mph,sf,df,qf,wgf,qtf,sfrq)values('''+bh+''','''+mph+''',';
    sqlstr:=sqlstr+':sf,:df,:qf,:wgf,:qtf,'''+sfrq+''')';
    sqlstr1:='select * from sfb where(mph='''+mph+''')and(bh='''+bh+''')';
  end;  try
  with adoquery1 do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr1);
    open ;
    if recordCount>0 then
    begin
     showMessage('门牌号有重复,请输入!');
      mph_edit.SetFocus;
      exit;
    end;    sql.Clear;
    sql.Add(sqlstr);
    Parameters.ParamByName('sf').Value:=sf;
    Parameters.ParamByName('df').Value:=df;
    Parameters.ParamByName('qf').Value:=qf;
    Parameters.ParamByName('wgf').Value:=wgf;
    Parameters.ParamByName('qtf').Value:=qtf;
    ExecSQL;
  end;
  except
    messageDlg('系统操作失败!',mtError,[mbOk],0);
  end;