⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dothread.pas

📁 delphi使用sqlserver2000中dts导入导出数据
💻 PAS
字号:
unit DoThread;

interface

uses
   Windows,Forms,Messages, SysUtils, Classes, Graphics, Controls,StdCtrls,
   SyncObjs,Dialogs,Variants,DateUtils,ActiveX,DTS;

type
     TOnEndEvent = procedure(Actiontype:integer;filename: string;Path:String;item:integer) of object;
     TDoThread = class(TThread)
private
     FResult:boolean;
     FMsg:string;
     FOnEnd: TOnEndEvent;
protected
     procedure Execute; override; { 执行线程的方法 }
public
     constructor Create(Owner : TComponent); virtual;{ 线程构造器 }
     Destructor Destroy; override;
     property OnEnd: TOnEndEvent read FOnEnd write FOnEnd;
     property Msg: string read FMsg write FMsg;
     property Result: boolean read FResult write FResult;
end;

implementation

procedure TDoThread.Execute;     { 执行线程的方法 }
var a:TDTSUnit;
    Datafile,SQLserverIP,DBname,Username,Password,M,ErrOutPutFile,msg:string;
begin
    ActiveX.CoInitialize(nil);

    FResult:=false;
    
    Datafile:='D:\DTS2000\DTS6\depart.csv';
    SQLserverIP:='127.0.01';
    DBname:='JYT';
    Username:='sa';
    Password:='sa';
    ErrOutPutFile:='D:\DTS2000\DTS6\depart.log';

    a:=TDTSUnit.Create;
    a.InitializeFromText(Datafile);
    a.InitializeToSQL(SQLserverIP,DBname,Username,Password,'AccountTbdepart');
    if a.Execute(ErrOutPutFile,'D:\DTS2000\DTS6\InsertDepart.bas',M) then
    FMsg:='ok'
    else
    FMsg:= M;
    a.Free;

    if Assigned(FOnEnd) then
    FOnEnd(0, FMsg,'',0);

    FResult:=true;

    ActiveX.CoUnInitialize;//必须使用
end;

constructor TDoThread.Create(Owner : TComponent);
begin
    inherited Create(true);
    Priority := tpNormal;
    FreeOnTerminate := false;
    FResult:=false;
end;

destructor TDoThread.Destroy;
begin
    inherited destroy;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -