Delphi 7 DBGrid 数据未修改过为什么还会提示保存

怎么实现点击关闭退出,若DBGrid中有数据改动才提示保存,目前问题是未修改过数据也会提示保存,代码如下,请高手指点,谢谢!

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADODataSet1: TADODataSet;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key1: Char);
    procedure Button2Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (edit1.text<>'') and (key=#13) then edit2.SetFocus;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key1: Char);
begin
if (edit2.text<>'') and (key1=#13) then button1click(sender);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select TD001 单别,TD002 采购单号,TD003 序号,TD027 请购单号,TD004 品号,TD008 数量,TD012 交期,TD005 品名 FROM PURTD where TD001='''+form1.edit1.Text+''' and TD002='''+form1.edit2.Text+'''');
ADOQuery1.Open;
ADOQuery1.ExecSQL;
ADOQuery1.FieldByName('单别').ReadOnly:=true;
ADOQuery1.FieldByName('采购单号').ReadOnly:=true;
ADOQuery1.FieldByName('序号').ReadOnly:=true;
ADOQuery1.FieldByName('品号').ReadOnly:=true;
ADOQuery1.FieldByName('品名').ReadOnly:=true;
ADOQuery1.FieldByName('数量').ReadOnly:=true;
ADOQuery1.FieldByName('请购单号').ReadOnly:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Refresh;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 if MessageDlg('还有未保存文件,是否关闭?',mtWarning,[mbYes,mbNo],0)=6 then
CanClose:=true
else
CanClose:=false;
end;

end.