📄 jscssj1.pas
字号:
unit jscssj1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, BMDThread, Menus, ExtCtrls, StdCtrls, AliasEd, IniFiles;
type
Tsjcs = class(TForm)
Database1: TDatabase;
BatchMove1: TBatchMove;
Table2: TTable;
Table1: TTable;
BatchMove2: TBatchMove;
Table3: TTable;
Table4: TTable;
BatchMove3: TBatchMove;
Table5: TTable;
Table6: TTable;
BatchMove5: TBatchMove;
Table9: TTable;
Table10: TTable;
BMDThread7: TBMDThread;
Query1: TQuery;
Query2: TQuery;
Query3: TQuery;
Query4: TQuery;
Query5: TQuery;
Query6: TQuery;
Query7: TQuery;
Query8: TQuery;
Query9: TQuery;
BatchMove6: TBatchMove;
Table11: TTable;
Table12: TTable;
Table13: TTable;
BatchMove7: TBatchMove;
Table14: TTable;
BatchMove8: TBatchMove;
Table15: TTable;
Table16: TTable;
Table17: TTable;
BatchMove9: TBatchMove;
Table18: TTable;
AliasEditor1: TAliasEditor;
Memo1: TMemo;
Timer1: TTimer;
Memo2: TMemo;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure BMDThread7Execute(Sender: TObject; Thread: TBMDExecuteThread;
var Data: Pointer);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
sjcs: Tsjcs;
implementation
uses login1;
{$R *.DFM}
procedure Tsjcs.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if BMDThread7.Runing then
begin
CanClose := false;
end;
end;
procedure Tsjcs.BMDThread7Execute(Sender: TObject;
Thread: TBMDExecuteThread; var Data: Pointer);
begin
Memo2.Lines.Add('正在接收付款方式数据...');
BatchMove2.Execute;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在接收商品档案数据...');
if sjcs.Visible = true then
begin
BatchMove1.Execute;
end;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在接收收款员档案数据...');
BatchMove3.Execute;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在接收商品促销数据...');
BatchMove5.Execute;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在上传会员消费数据...');
BatchMove8.Execute;
Table15.Close;
Table15.EmptyTable;
Table15.open;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在接收打印方式数据...');
BatchMove9.Execute;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在接收付款方式数据...');
BatchMove6.Execute;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在上传销售主表数据...');
BatchMove7.Execute;
Query1.close;
Query1.sql.clear;
Query1.sql.add('select * from spxs_m');
Query1.open;
Query1.first;
while not Query1.eof do
begin
try
Query2.close;
Query2.sql.clear;
Query2.sql.add('insert into spxs_m(mdid,posid,xsid,xsrq,skyid,xsje,zkje,xssd)');
Query2.sql.add('values (:mdid,:posid,:xsid,:xsrq,:skyid,:xsje,:zkje,:xssd)');
Query2.ParamByName('mdid').asstring := Query1.fieldbyname('mdid').asstring;
Query2.ParamByName('posid').asstring := Query1.fieldbyname('posid').asstring;
Query2.ParamByName('xsid').asstring := Query1.fieldbyname('xsid').asstring;
Query2.ParamByName('xsrq').asdate := Query1.fieldbyname('xsrq').asdatetime;
Query2.ParamByName('skyid').asstring := Query1.fieldbyname('skyid').asstring;
Query2.ParamByName('xssd').asstring := Query1.fieldbyname('xssd').asstring;
Query2.ParamByName('xsje').asfloat := Query1.fieldbyname('xsje').asfloat;
Query2.ParamByName('zkje').asfloat := Query1.fieldbyname('zkje').asfloat;
Query2.ExecSQL;
Query3.close;
Query3.sql.clear;
Query3.sql.add('delete from spxs_m where xsid=:xsid');
Query3.ParamByName('xsid').asstring := Query1.fieldbyname('xsid').asstring;
Query3.ExecSQL;
except
Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
end;
Query1.Next;
end;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在上传销售子表数据...');
Query4.close;
Query4.sql.clear;
Query4.sql.add('select * from spxs_s');
Query4.open;
Query4.first;
while not Query4.eof do
begin
try
Query5.close;
Query5.sql.clear;
Query5.sql.add('insert into spxs_s(xsid,spcode,dj,sl,je,zk,zkje,xsrq,sfcx,jhj)');
Query5.sql.add('values (:xsid,:spcode,:dj,:sl,:je,:zk,:zkje,:xsrq,:sfcx,:jhj)');
Query5.ParamByName('xsid').asstring := Query4.fieldbyname('xsid').asstring;
Query5.ParamByName('spcode').asstring := Query4.fieldbyname('spcode').asstring;
Query5.ParamByName('dj').asfloat := Query4.fieldbyname('dj').asfloat;
Query5.ParamByName('sl').asfloat := Query4.fieldbyname('sl').asfloat;
Query5.ParamByName('je').asfloat := Query4.fieldbyname('je').asfloat;
Query5.ParamByName('zk').asfloat := Query4.fieldbyname('zk').asfloat;
Query5.ParamByName('zkje').asfloat := Query4.fieldbyname('zkje').asfloat;
Query5.ParamByName('xsrq').asdate := Query4.fieldbyname('xsrq').asdatetime;
Query5.ParamByName('sfcx').asstring := Query4.fieldbyname('sfcx').asstring;
Query5.ParamByName('jhj').asfloat := Query4.fieldbyname('jhj').asfloat;
Query5.ExecSQL;
Query6.close;
Query6.sql.clear;
Query6.sql.add('delete from spxs_s where id=:id');
Query6.ParamByName('id').asstring := Query4.fieldbyname('id').asstring;
Query6.ExecSQL;
except
Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
end;
Query4.Next;
end;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('正在上传收款数据...');
Query7.close;
Query7.sql.clear;
Query7.sql.add('select * from syfk');
Query7.open;
Query7.first;
while not Query7.eof do
begin
try
Query8.close;
Query8.sql.clear;
Query8.sql.add('insert into syfk(mdid,posid,xsrq,xsid,fkfsid,fkje)');
Query8.sql.add('values (:mdid,:posid,:xsrq,:xsid,:fkfsid,:fkje)');
Query8.ParamByName('xsid').asstring := Query7.fieldbyname('xsid').asstring;
Query8.ParamByName('mdid').asstring := Query7.fieldbyname('mdid').asstring;
Query8.ParamByName('posid').asstring := Query7.fieldbyname('posid').asstring;
Query8.ParamByName('fkfsid').asstring := Query7.fieldbyname('fkfsid').asstring;
Query8.ParamByName('fkje').asfloat := Query7.fieldbyname('fkje').asfloat;
Query8.ParamByName('xsrq').asdate := Query7.fieldbyname('xsrq').asdatetime;
Query8.ExecSQL;
Query9.close;
Query9.sql.clear;
Query9.sql.add('delete from syfk where id=:id');
Query9.ParamByName('id').asstring := Query7.fieldbyname('id').asstring;
Query9.ExecSQL;
except
Memo2.Lines.Add('错误:ID=' + Query4.fieldbyname('id').asstring);
end;
Query7.Next;
end;
Memo2.Lines.Add('OK...');
Memo2.Lines.Add('数据传送完毕,按取消键退出...');
BMDThread7.Stop;
end;
procedure Tsjcs.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 27 then close;
end;
procedure Tsjcs.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure Tsjcs.FormCreate(Sender: TObject);
var ch: string;
FileHandle: Integer;
Link: Tinifile;
begin
if BMDThread7.Runing then exit;
try
Database1.Connected := false;
Link := Tinifile.Create(ExtractFilePath(Paramstr(0)) + 'Link.ini');
ch := 'server';
if AliasEditor1.Exists(ch) = false then
AliasEditor1.Add(ch, 'MSSQL', Memo1.Lines);
Database1.AliasName := 'posserver';
Database1.DatabaseName := 'server';
Database1.Params.Text := 'DATABASE NAME=' + Link.Readstring('SERVER', 'DATABASE NAME', 'lxf');
Database1.Params.Add('SERVER NAME=' + Link.Readstring('SERVER', 'SERVER NAME', '.'));
Database1.Params.Add('USER NAME=' + Link.Readstring('SERVER', 'USER NAME', 'sa'));
Database1.Params.Add('PASSWORD=' + Link.Readstring('SERVER', 'PASSWORD', 'sa'));
Link.Destroy;
Database1.Connected := true;
except
Memo2.Lines.Add('连接数据库失败,请检查数据库是否启动或配置文件 Link.ini 是否正确.');
exit;
end;
BMDThread7.Start();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -