ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 从TXT 文件导入打卡原始资料到 MSSQL 数据库

从TXT 文件导入打卡原始资料到 MSSQL 数据库

原创 Linux操作系统 作者:zaorv 时间:2019-06-17 12:48:04 0 删除 编辑

{************************

--卡钟原始记录表
create table cardOrg
(
yearMonthDay varchar(12) , --格式:yyyymmdd
CardNo varchar(10), --卡号
itime varchar(10),--打卡时间 hh:mm:ss
machineNo varchar(8),
iStatus varchar(8),
itype varchar(8)
)
go
说明:从TXT 文件导入打卡原始资料到 MSSQL 数据库中,
完成导入功能。
create date:2009-01-04
finished date :200-01-04
update date:
author: Sam
finish status:finish
*************************}

unit Uimport;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;

type
TImportForm = class(TForm)
FilePathEdt: TEdit;
OpenBtn: TButton;
Label1: TLabel;
importOpenDialog: TOpenDialog;
importDataBtn: TButton;
ProgressBar: TProgressBar;
procedure OpenBtnClick(Sender: TObject);
procedure importDataBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
ImportForm: TImportForm;

implementation
uses dm;
{$R *.dfm}

procedure TImportForm.OpenBtnClick(Sender: TObject);
begin //打开文件,获取文件路径。
if importopendialog.Execute then
begin
filePathEdt.Text:=importOpenDialog.FileName;
end;

end;

procedure TImportForm.importDataBtnClick(Sender: TObject);
var
CardStr:string;
ctxt:TextFile;
size:longInt;
begin
AssignFile(ctxt,filePathEdt.text);
// E:学习HRMData2009-012009-01-04.txt

reset(cTxt); // read only
size:=filesize(cTxt);
if size=0 then
begin
showmessage('Sorry,卡钟已无数据可提交处理!');
closefile(cTxt);
system.exit;
end;
ProgressBar.Min:=0;
ProgressBar.Max:=size ;
ProgressBar.Step:=1 ;
udm.Qry_cardOrg.Active:=true;
while not Eof(ctxt) do
begin
ReadLn(cTxt,CardStr);
udm.Qry_cardOrg.Append;
// 20080826 2130 007144 01
udm.Qry_cardOrg['cardNo']:=copy(cardStr,13,6);
udm.Qry_cardOrg['yearMonthDay']:=copy(cardStr,1,8);
udm.Qry_cardOrg['itime']:=copy(cardStr,9,2)+':'+copy(cardStr,11,2);
udm.Qry_cardOrg['cardNo']:=copy(cardStr,13,6);
udm.Qry_cardOrg['machineNo']:=copy(cardStr,19,2);
udm.Qry_cardOrg['iType']:='0';
udm.Qry_cardOrg['iStatus']:='0';
udm.Qry_cardOrg.Post;
progressBar.StepIt;
end;
closeFile(cTxt);
ShowMessage('您已经成功地进行卡钟处理');
end;

procedure TImportForm.FormCreate(Sender: TObject);
begin
filePathEdt.Text:='';
end;

end.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/729024/viewspace-564887/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-12

  • 博文量
    192
  • 访问量
    143583