回 帖 发 新 帖 刷新版面

主题:SQL执行不了请帮忙给看一下DBGridEh,DBGridEhImpExp

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, DB, ADODB, Mask,
  DBGridEh,DBGridEhImpExp;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBEdit3: TDBEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    DBEdit4: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBGrid1: TDBGridEh;
    Button6: TButton;
    Button7: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure GridSaveAS   (grid:   TDBGridEh);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 NewString: string;
begin
 Inputquery('输入查询条件','查询姓名为',Newstring);
 adotable1.Locate('xingming',newstring,[lopartialkey]);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 newstring: string;
begin
 inputquery('输入过滤条件','过滤姓名为',newstring);
 adotable1.Filter:='xingming like '+''''+newstring+'%'+'''';
 adotable1.Filtered:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 adotable1.DisableControls;
 adotable1.Last;
 adotable1.Edit;
 adotable1.FieldByName('xingming').AsString:='张七';
 adotable1.Post;
 adotable1.EnableControls;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
adotable1.Last;
adotable1.Insert;
adotable1.FieldByName('xingming').AsString:='' ;
adotable1.FieldByName('danwen').AsString:='';
adotable1.FieldByName('dianhua').AsString:='';
adotable1.FieldByName('shengri').AsString:='';
adotable1.Post;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin

if messagedlg('确定删除么?',mtconfirmation,[mbyes,mbno],0)=mryes
then adotable1.Delete;
end;

procedure TForm1.GridSaveAS(grid:   TDBGridEh);
var     ExpClass:TDBGridEhExportClass;
        Ext:String;
        SaveDlg:TSaveDialog;
        ExportAll:Boolean;
begin
      ExportAll:=True;   //缺省情况下导出所有数据   
      SaveDlg:=TSaveDialog.Create(Application);
      SaveDlg.Filter:='Excel表格(*.XLS)|*.XLS|HTML文档(*.HTM)|*.HTM|RTF格式(*.RTF)|*.RTF|纯文本文件(*.TXT)|*.TXT|逗号分隔文本格式(*.CSV)|*.CSV';   
      SaveDlg.FileName:='未命名';   
      SaveDlg.Options   :=   [ofOverwritePrompt,ofHideReadOnly,   ofEnableSizing];   
          if   SaveDlg.Execute   then   
          begin
              case   SaveDlg.FilterIndex   of
                  1:   begin   ExpClass   :=   TDBGridEhExportAsXLS;   Ext   :=   'xls';   end;
                  2:   begin   ExpClass   :=   TDBGridEhExportAsHTML;   Ext   :=   'htm';   end;   
                  3:   begin   ExpClass   :=   TDBGridEhExportAsRTF;   Ext   :=   'rtf';   end;   
                  4:   begin   ExpClass   :=   TDBGridEhExportAsText;   Ext   :=   'txt';   end;   
                  5:   begin   ExpClass   :=   TDBGridEhExportAsCSV;   Ext   :=   'csv';   end;   
              else   
                  ExpClass   :=   nil;   Ext   :=   '';   
              end;   
              if   ExpClass   <>   nil   then   
              begin   
                  if   UpperCase(Copy(SaveDlg.FileName,Length(SaveDlg.FileName)-2,3))   <>   
    
                        UpperCase(Ext)   then   
                      SaveDlg.FileName   :=   SaveDlg.FileName   +   '.'   +   Ext;   
                  //如果grid中有选择的区域,则只导出所选择的区域   
                  if   grid.Selection.SelectionType<>gstNon   then   ExportAll:=False;   
                  Try
                      SaveDBGridEhToExportFile(ExpClass,grid,SaveDlg.FileName,ExportAll);
                  Except   
                      On   E:Exception   do   
                      begin   
                          MessageBox(0,LPCTSTR('保存文件发生异常,请检查是否有重名文件并且该文件没有被打开!'),'注意',MB_OK   or   MB_ICONWARNING);   
                          Exit;   
                      end;   
                  End;   
              end;   
          end;


end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  GridSaveAS(dbgrid1);
end;

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

end.

到这里就执行不了DBGridEh,DBGridEhImpExp;报[Fatal Error] Unit1.pas(8): File not found: 'DBGridEh.dcu'请问这是什么原因,应该怎么处理?

回复列表 (共2个回复)

沙发

File not found: 'DBGridEh.dcu'
上述是控件开发时的编译编码文件,下载的控件可能无这个文件,你可向开发方取得,否下载另外有DBGridEh.dcu的控件,
或在你下载文件中找到DBGridEh.dcu,复制到Delphi 中去.

板凳

在project--->options--->Directories/Conditionals中的search path中添加你所用控件的路径

我来回复

您尚未登录,请登录后再回复。点此登录或注册