【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“InOutData.pas”一文,供大家参考学习
unit InOutData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls, ComCtrls, GradeColorImage, Buttons;
type
TInOutDataForm = class(TForm)
GCImg1: TGCImg;
psb: TProgressBar;
Label1: TLabel;
Label2: TLabel;
adoCon: TADOConnection;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
OpType:integer;
DatafilePath:string;
startDate,endDate:TDateTime;
end;
var
InOutDataForm: TInOutDataForm;
implementation
uses data;
{$R *.dfm}
procedure TInOutDataForm.BitBtn1Click(Sender: TObject);
var
adoDelTable:TADOCommand;
adoOnlineNote:TADOQuery;
adoOutPutTable:TADOQuery;
adoFrom:TADOQuery;
adoTo:TADOQuery;
begin
try
if adoCon.Connected then adoCon.Connected :=false;
case OpType of
0: begin
adoCon.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='
+DatafilePath+';Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";'
+'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="982702";Jet OLEDB:Engine Type=5;'
+'Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;'
+'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'
+'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'
+'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;'
+'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
adoCon.Connected :=true;
if MessageBox(handle,'如果旧数据库中的记录在新数据库中已存在,'+#13
+'系统将略过该记录,是否进行?','导入确认',MB_OKCANCEL or MB_ICONWARNING)=IDOK then
begin
BitBtn1.Enabled :=false;
BitBtn2.Enabled :=false;
adoFrom:=TADOQuery.Create(nil);
adoFrom.Connection :=ADOCon;
adoTo:=TADOQuery.Create(nil);
adoTo.Connection :=DM.adoCon;
//导入账户表
adoFrom.SQL.Add('select * from UserList');
adoFrom.Active :=true;
adoTo.SQL.Add('select * from UserList');
adoTo.Active :=true;
psb.Max :=adoFrom.RecordCount;
psb.Position :=0;
while not adoFrom.Eof do
begin
if not adoTo.Locate('stuNo',Trim(adoFrom.FieldValues['stuNo']),[loCaseInsensitive])then
begin
adoTo.Append;
adoTo.FieldValues['stuNo']:=adoFrom.FieldValues['stuNo'];
adoTo.FieldValues['stuName']:=adoFrom.FieldValues['stuName'];
adoTo.FieldValues['stuSex']:=adoFrom.FieldValues['stuSex'];
adoTo.FieldValues['stuClass']:=adoFrom.FieldValues['stuClass'];
adoTo.FieldValues['stuLoginDate']:=adoFrom.FieldValues['stuLoginDate'];
adoTo.FieldValues['stuUnLoginDate']:=adoFrom.FieldValues['stuUnLoginDate'];
adoTo.FieldValues['stuValidity']:=adoFrom.FieldValues['stuValidity'];
adoTo.FieldValues['stuPrepTime']:=adoFrom.FieldValues['stuPrepTime'];
adoTo.FieldValues['stuAllUsedTime']:=adoFrom.FieldValues['stuAllUsedTime'];
adoTo.FieldValues['stuMemo']:=adoFrom.FieldValues['stuMemo'];
adoTo.Post;
psb.Position :=psb.Position+1;
end;
adoFrom.next;
end; //end while
//导入上机记录表
with adoFrom do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from OnlineNote');
Active :=true;
psb.Max :=RecordCount;
end;
with adoTo do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from OnlineNote');
Active :=true;
end;
psb.Position :=0;
while not adoFrom.Eof do
begin
adoTo.Append;
adoTo.FieldValues['stuNo']:=adoFrom.FieldValues['stuNo'];
adoTo.FieldValues['upDate']:=adoFrom.FieldValues['upDate'];
adoTo.FieldValues['upTime']:=adoFrom.FieldValues['upTime'];
adoTo.FieldValues['downDate']:=adoFrom.FieldValues['downDate'];
adoTo.FieldValues['downTime']:=adoFrom.FieldValues['downTime'];
adoTo.FieldValues['usedTime']:=adoFrom.FieldValues['usedTime'];
adoTo.FieldValues['orderlyMan']:=adoFrom.FieldValues['orderlyMan'];
adoTo.Post;
psb.Position :=psb.Position+1;
adoFrom.next;
end; //end while
//导入班级表
with adoFrom do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from ClassList');
Active :=true;
psb.Max :=RecordCount;
end;
with adoTo do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from ClassList');
Active :=true;
end;
psb.Position :=0;
while not adoFrom.Eof do
begin
if not adoTo.Locate('clsname',Trim(adoFrom.FieldValues['clsname']),[loCaseInsensitive])then
begin
adoTo.Append;
adoTo.FieldValues['clsName']:=adoFrom.FieldValues['clsname'];
adoTo.Post;
psb.Position :=psb.Position+1;
end;
adoFrom.next;
end; //end while
//导入管理员表
with adoFrom do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from AdminList');
Active :=true;
psb.Max :=RecordCount;
end;
with adoTo do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from AdminList');
Active :=true;
end;
psb.Position :=0;
while not adoFrom.Eof do
begin
if not adoTo.Locate('adLoginName',Trim(adoFrom.FieldValues['adLoginName']),[loCaseInsensitive])then
begin
adoTo.Append;
adoTo.FieldValues['adLoginName']:=adoFrom.FieldValues['adLoginName'];
adoTo.FieldValues['adPassword']:=adoFrom.FieldValues['adPassword'];
adoTo.FieldValues['adName']:=adoFrom.FieldValues['adName'];
adoTo.FieldValues['adSex']:=adoFrom.FieldValues['adSex'];
adoTo.FieldValues['popedom']:=adoFrom.FieldValues['popedom'];
adoTo.FieldValues['sysSetup']:=adoFrom.FieldValues['sysSetup'];
adoTo.FieldValues['fillTime']:=adoFrom.FieldValues['fillTime'];
adoTo.FieldValues['award']:=adoFrom.FieldValues['award'];
adoTo.FieldValues['online']:=adoFrom.FieldValues['online'];
adoTo.FieldValues['member']:=adoFrom.FieldValues['member'];
adoTo.Post;
psb.Position :=psb.Position+1;
end;
adoFrom.next;
end; //end while
//导入充值记录表
with adoFrom do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from FillNote');
Active :=true;
psb.Max :=RecordCount;
end;
with adoTo do
begin
Active :=false;
SQL.Clear;
SQL.Add('select * from FillNote');
Active :=true;
end;
psb.Position :=0;
while not adoFrom.Eof do
begin
adoTo.Append;
adoTo.FieldValues['stuNo']:=adoFrom.FieldValues['stuNo'];
adoTo.FieldValues['fillDate']:=adoFrom.FieldValues['fillDate'];
adoTo.FieldValues['fillTime']:=adoFrom.FieldValues['fillTime'];
adoTo.FieldValues['orderlyMan']:=adoFrom.FieldValues['orderlyMan'];
adoTo.Post;
psb.Position :=psb.Position+1;
adoFrom.next;
end; //end while
end; //end if
end; //end case 0
上一篇:
inout.pas
下一篇:
法律专业开题报告范文