下面出现的错误提示为:rang列无效!
请各位大哥仔细看看,帮帮忙吧
procedure Treturnbook.SpeedButton3Click(Sender: TObject);
var 
  rang:integer;
begin
 if trim(edit1.Text)='' then
     begin
         showmessage('请输入书籍编号');
         exit;
     end;
if  trim(edit2.Text)='' then
    begin
         showmessage('请输入书籍名称');
         exit;
    end;
if trim(edit3.Text)='' then
    begin
         showmessage('请输入借书人');
         exit;
    end;
    with dm.table7 do
       begin
              open;
              append;
              fields[0].AsString:=trim(edit1.Text);
              fields[1].AsString:=trim(edit2.Text);
              fields[2].AsString:=trim(edit3.Text);
              fields[3].AsString:=trim(edit4.Text);
              fields[4].AsString:=trim(edit5.Text);
              fields[5].Value:=trim(edit6.Text);
              fields[6].value:=trim(edit8.Text);
              fields[7].value:=trim(edit7.text);
              post;
              showmessage('信息添加成功!');
       end;
       with dm.query1 do
           begin
             close;
             sql.Clear;
             sql.Add('select * from brrowinfo where 书籍编号=:idno');
             parameters.ParamByName('idno').Value:=trim(edit1.Text);
             open;
           end;
          etime:=strtodate(trim(edit8.Text));
          qtime:=strtodate(trim(edit6.Text));
          rang:=dm.table3.Fields[1].Value;
      with dm.query2 do
          begin
             close;
             sql.Clear;
             sql.add('select dateadd(dd,rang,'+quotedstr(formatdatetime('yyyy-mm-dd',qtime))+') as rq');//在这里rang的值等于dm.table3.fields[1].value,数据类型为整型
             open;
          end;
         if (dm.query2.FieldByName('rq').Value)<(edit8.Text) then
           begin
               showmessage('此书已过期:');
           end;
           speedbutton3.Enabled:=false;
           speedbutton2.Enabled:=false;
           speedbutton1.Enabled:=true;
end;