unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, DB, DBTables, Grids, DBGrids;type
  TChangeFile = class(TForm)
    OpenDialog: TOpenDialog;
    OpenFile: TButton;
    DBChangeFile: TButton;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Query1: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    ShowData: TButton;
    procedure OpenFileClick(Sender: TObject);
    procedure ShowDataClick(Sender: TObject);
   
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  ChangeFile: TChangeFile;
  DataFile:string;
  DataDir:string;
implementation{$R *.dfm}procedure TChangeFile.OpenFileClick(Sender: TObject);
begin
  if opendialog.Execute then
    begin
      DataFile:=OpenDialog.FileName;
      DataDir:=Copy(DataFile,1,3);
      label2.Caption:=DataDir;
      Label1.Caption:=OpenDialog.FileName;
    end;
end;procedure TChangeFile.ShowDataClick(Sender: TObject);
var
SQLStr:string;
DataFileName:string;
begin
  DataFileName:=DataFile;
  {DataFileName:=}Delete(DataFileName,1,3);  Query1.DatabaseName:=DataDir;
  SQLStr:='select * form '+DataFileName;
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add(SQLStr);
  try
    Query1.Prepare;
    Query1.Open;
  except
    on EDBEngineError do
    ShowMessage('SQL语句执行错误,请仔细检查');
  end;
end;end.我执行程序,总是告诉我“SQL语句执行错误,请仔细检查”。