各位达人,请帮小弟看下从“EHlib”中导出数据的一段有有关问题的代码
各位达人,请帮小弟看下从“EHlib”中导出数据的一段有问题的代码
我做的一个学习"Ehlib"的test(在附件中),请达人们帮忙看下,小弟十分感激,谢谢.
----------------------
其代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBTables, DB, Grids, DBGrids, ADODB, DBGridEh,
StdCtrls;
type
TForm1 = class(TForm)
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGridEh1: TDBGridEh;
SaveDialog1: TSaveDialog;
B_exp: TButton;
procedure FormCreate(Sender: TObject);
procedure B_expClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
str:String;
begin
ADODataSet1.Active:=false;
str:='select * from employee where LastName like ''%e%''';
ADODataSet1.CommandText:=str;
ADODataSet1.Active:=true;
end;
// 导出
procedure TForm1.B_expClick(Sender: TObject);
var
ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := 'file1';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False);
//其中false为局部数据
end;
end;
end;
//以上导出
end.
----------------------
run时的时候在"ExpClass:TDBGridEhExportClass" 提示有错误,请达人指示其中的错误.谢谢
------解决方案--------------------
需要引用单元:DBGridEhImpExp
uses
DBGridEhImpExp
我做的一个学习"Ehlib"的test(在附件中),请达人们帮忙看下,小弟十分感激,谢谢.
----------------------
其代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBTables, DB, Grids, DBGrids, ADODB, DBGridEh,
StdCtrls;
type
TForm1 = class(TForm)
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGridEh1: TDBGridEh;
SaveDialog1: TSaveDialog;
B_exp: TButton;
procedure FormCreate(Sender: TObject);
procedure B_expClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
str:String;
begin
ADODataSet1.Active:=false;
str:='select * from employee where LastName like ''%e%''';
ADODataSet1.CommandText:=str;
ADODataSet1.Active:=true;
end;
// 导出
procedure TForm1.B_expClick(Sender: TObject);
var
ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := 'file1';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False);
//其中false为局部数据
end;
end;
end;
//以上导出
end.
----------------------
run时的时候在"ExpClass:TDBGridEhExportClass" 提示有错误,请达人指示其中的错误.谢谢
------解决方案--------------------
需要引用单元:DBGridEhImpExp
uses
DBGridEhImpExp