📄 unit1.pas
字号:
unit Unit1;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, ActiveX, Classes, ComObj, Prj_MDB2BCon_TLB, StdVcl,
DB, ADODB, // ADO
DBClient, // ClientDataSet
Provider, // DataSetProvider
SysUtils; // FreeAndNil
type
TMDB2BCon01 = class(TTypedComObject, IMDB2BCon01)
Private
FMDBFileName, FMDBTableName, FBConFileName: String;
acMDB: TADOConnection;
ADOTable1: TADOTable;
ClientDataSet1: TClientDataSet;
DataSetProvider1: TDataSetProvider;
protected
function ConvertBCon: HResult; stdcall;
function SetBConName(const Param1: WideString): HResult; stdcall;
function SetMDBFileName(const Param1: WideString): HResult; stdcall;
function SetMDBTableName(const Param1: WideString): HResult; stdcall;
{Declare IMDB2BCon01 methods here}
end;
implementation
uses ComServ, Dialogs;
function TMDB2BCon01.ConvertBCon: HResult;
const
ADOConnSTR = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=';
begin
acMDB:= TADOConnection.Create(nil);
acMDB.LoginPrompt:= False;
ADOTable1:= TADOTable.Create(nil);
DataSetProvider1:= TDataSetProvider.Create(nil);
ClientDataSet1:= TClientDataSet.Create(nil);
try
acMDB.ConnectionString:= ADOConnSTR+ FMDBFileName+ ';Persist Security Info=False';
ADOTable1.Connection:= acMDB;
ADOTable1.TableName:= FMDBTableName;
ADOTable1.Open;
DataSetProvider1.DataSet:= ADOTable1;
ClientDataSet1.SetProvider( DataSetProvider1);
ClientDataSet1.open;
ClientDataSet1.FetchDetails;
ClientDataSet1.SaveToFile( FBConFileName ,dfBinary);
//ShowMessage('MDBFileName='+ FMDBFileName+' BConFileName='+ FBConFileName +' Convert ok! ');
finally
ClientDataSet1.Close;
ClientDataSet1.Free;
DataSetProvider1.Free;
ADOTable1.Close;
FreeAndNil(ADOTable1);
acMDB.Close;
FreeAndNil(acMDB);
end;
Result:= 0;
end;
function TMDB2BCon01.SetBConName(const Param1: WideString): HResult;
begin
FBConFileName:= Param1;
Result:= 1;
end;
function TMDB2BCon01.SetMDBFileName(const Param1: WideString): HResult;
begin
FMDBFileName:= Param1;
Result:= 1;
end;
function TMDB2BCon01.SetMDBTableName(const Param1: WideString): HResult;
begin
FMDBTableName:= Param1;
Result:= 1;
end;
initialization
TTypedComObjectFactory.Create(ComServer, TMDB2BCon01, Class_MDB2BCon01,
ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -