我有一段代码.错误提示[Error] Unit12.pas(99): Record, object or class type required
提示地点是结尾处的end;
procedure TForm12.Button1Click(Sender: TObject);
begin
if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='') or (edit5.Text='') or (edit6.Text='') or (edit7.Text='')
then
begin
showmessage('信息输入不全,请重新输入');
exit;
end
else
with unit2.DataModule2.ADOQuery1 do
begin
close;
with sql do
begin
sql.Clear;
sql.Add('select * from gdchez where cpid=:id');
unit2.DataModule2.ADOQuery1.Parameters.ParamByName('id').Value:=edit1.Text;
open;
  if unit2.DataModule2.ADOQuery1.RecordCount=0 then
    begin
    showmessage('无该用户,请重新输入');
    exit;
    end
  else    with with unit2.DataModule2.ADOQuery1 do
    begin
    unit2.DataModule2.ADOQuery1.Close;
    with sql do
    begin
    sql.Clear;
    sql.Add('update gdchez set cwid=:cw,czname=:name,phone=:dh,address=:dz,tcjw=:dj,ycfy=:ck where cpid=:id');
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('cw').Value:=edit2.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('name').Value:=edit3.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('dh').Value:=edit4.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('dz').Value:=edit7.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('dj').Value:=edit5.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('ck').Value:=edit6.Text;
    unit2.DataModule2.ADOQuery1.Parameters.ParamByName('id').Value:=edit1.Text;
    end;
    ExecSQL;
    showmessage('修改成功');
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    edit4.Clear;
    edit5.Clear;
    edit6.Clear;
    edit7.Clear;
    exit;
end;提示错误
end;
end;
end;