📄 u_dbtread.pas
字号:
unit U_dbTread;
interface
uses
activex,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, bsSkinCtrls, StdCtrls, DB, ADODB, DBTables;
type
MyDBThread = class(TThread)
private
procedure DBexport_filmtype;
protected
procedure Execute; override;
public
end;
implementation
uses U_dbtrans1;
procedure MyDBThread.Execute;
begin
CoInitialize( nil );
//dbexport_filmtype;
Synchronize(dbexport_filmtype); //http://topic.csdn.net/t/20050121/10/3742766.html,现在人太凶了
CoUnInitialize;
end;
procedure mydbthread.DBexport_filmtype;
var i,j,k:integer;
var temp1,temp2,temp3,TEMP4,temp5,TEMP6,TEMP7:string;
var rentcdtemp1,rentcdtemp2,rentcdtemp3,rentcdtemp4:string;
var daynumber:real;
var sl:Tstringlist;
begin
TRY
dbtrans.table1.tablename:='atorcharge';
dbtrans.table1.EmptyTable;
/////////////////////////////////////////////////
{ dbtrans.Table1.TableName:='category';
dbtrans.Table1.EmptyTable; }
////////////////////////////////////////////////
dbtrans.table1.tablename:='atorinfo';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='chargestd';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='filmtype';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='player';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='doctor';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='provider';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='atorrating'; ///////////////
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='rent_cd'; ////////////////
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='rttransaction';
dbtrans.table1.EmptyTable;
dbtrans.table1.tablename:='freetransaction';
dbtrans.table1.EmptyTable;
/////////////////////////////////////////////////////////////////////////////////////////////
//导入"用户业务" 注意:系统业务不用导入
{
with dbtrans.fromaccessquery_2 do
begin
close;
sql.Clear;
sql.Add('select * from TBcategory where flag<>1');
open;
first;
end;
dbtrans.bsSkinGauge1.ProgressText:='正在导入用户业务表';
for i:=1 to dbtrans.fromaccessquery_2.RecordCount do
begin
dbtrans.bsskingauge1.maxvalue:=dbtrans.fromaccessquery_2.RecordCount;//进度条1
dbtrans.bsskingauge1.value:=i;//进度条1
if i=dbtrans.fromaccessquery_2.RecordCount then break;
with dbtrans.tosqlserver do
begin
close;
sql.Clear;
sql.Add('insert into category(收支分类,分类级别,说明) values('+''''+dbtrans.fromaccessquery_2.FieldValues['name']+''''+','+''''+'用户业务'+''''+','+''''+dbtrans.fromaccessquery_2.FieldValues['memo']+''''+')');
execsql;
dbtrans.fromaccessquery_2.next;
end;
end; } //okokokokokok
/////////////////////////////////////////////////////////////////////////////////////导入影片库
with dbtrans.fromaccessquery_1 do // 从ACCESS_bFtransaction+TbAssociator---->>SQLSERVER_ATORCHARGE(会员信息)
begin
close;
sql.Clear;
sql.add('select * from tbrentcd');
open;
first;
end;
with dbtrans.fromaccessquery_2 do //ACCESS_TbOperator+TbFtransaction----->>SQLSERVER_ATORCHARGE(会员信息)
begin
close;
sql.Clear;
sql.add('select tbcdcategory.name from tbrentcd,tbcdcategory where tbcdcategory.id=tbrentcd.cid');
open;
first;
end;
with dbtrans.fromaccessquery_3 do //ACCESS_TbCategory+TbFtransaction-------->>SQLSERVER_ATORCHARGE(会员信息)
begin
close;
sql.Clear;
sql.add('select tbfee.*,tbrentcd.fid from tbrentcd,tbfee where tbfee.id=tbrentcd.fid');
open;
first;
end;
dbtrans.bsskingauge1.ProgressText:='正在导入到影片信息表';
for i:=1 to dbtrans.fromaccessquery_1.RecordCount do
begin
dbtrans.bsskingauge1.maxvalue:=dbtrans.fromaccessquery_1.RecordCount;//进度条1
dbtrans.bsskingauge1.value:=i;//进度条1
if i=dbtrans.fromaccessquery_1.RecordCount then break;
if dbtrans.fromaccessquery_1.FieldValues['director']=null then
rentcdtemp1:=' '
else
rentcdtemp1:=dbtrans.fromaccessquery_1.FieldValues['director'];
if dbtrans.fromaccessquery_1.FieldValues['player']=null then
rentcdtemp2:=' '
else
rentcdtemp2:=dbtrans.fromaccessquery_1.FieldValues['player'];
if dbtrans.fromaccessquery_1.FieldValues['Alias1']=null then
rentcdtemp3:=' '
else
rentcdtemp3:=dbtrans.fromaccessquery_1.FieldValues['Alias1'];
with dbtrans.tosqlserver do
begin
close;
sql.Clear;
sql.Add('insert into rent_cd(影片别名,影片编号,入库日期,影片名称,影片首拼,导演,主要演员,影片数量,影片价格,影片类别,计费部数,收费标准,状态,集数,供应商,影片说明 ,绑定号,ID) values('+''''+rentcdtemp3+''''+','+ ''''+dbtrans.fromaccessquery_1.FieldValues['code']+''''
+','+''''+datetostr(dbtrans.fromaccessquery_1.FieldValues['day'])+''''+','+''''+dbtrans.fromaccessquery_1.FieldValues['name']+''''
+','+''''+dbtrans.fromaccessquery_1.FieldValues['spell']+''''+','+''''+rentcdtemp1+''''
+','+''''+rentcdtemp2+''''+','+''''+INTTOSTR(dbtrans.fromaccessquery_1.FieldValues['number'])+''''
+','+''''+CURRtostr(dbtrans.fromaccessquery_1.FieldValues['price'])+''''+','+''''+dbtrans.fromaccessquery_2.FieldValues['name']+''''
+','+''''+inttostr(dbtrans.fromaccessquery_1.FieldValues['number'])+''''+','+''''+dbtrans.fromaccessquery_3.FieldValues['name']+''''
+','+''''+'待租'+''''+','+''''+inttostr(dbtrans.fromaccessquery_1.FieldValues['number'])+''''
+','+''''+' '+''''+','+''''+dbtrans.fromaccessquery_1.FieldValues['memo']+''''
+','+''''+' '+''''+','+''''+'0'+''''+' )');
//供应商未知道
execsql;
dbtrans.fromaccessquery_1.next;
dbtrans.fromaccessquery_2.next;
dbtrans.fromaccessquery_3.next;
end;
end;
///////////////////////////////////////////////////////////////////////////////////////
//导 入零租用户未归还碟片
with dbtrans.fromaccessquery_2 do //操作员与资金表的联合查询,这里,一起将1,2数据集合为一个
begin
close;
sql.Clear;
sql.add('select TbOperator.name,TbFtransaction.* from TbOperator,TbFtransaction where TbOperator.ID=TbFtransaction.CID3 and TbFtransaction.CID1=2 and TbFtransaction.aid3=0');
open;
first;
end;
dbtrans.bsskingauge1.ProgressText:='正在导入到非会员表';
for i:=0 to dbtrans.fromaccessquery_2.RecordCount do //读入资金表的记录,从第一条开始
begin //BEGIN
dbtrans.bsskingauge1.maxvalue:=dbtrans.fromaccessquery_2.RecordCount;//进度条1
dbtrans.bsskingauge1.value:=i;//进度条1
if i=dbtrans.fromaccessquery_2.RecordCount then break;
with dbtrans.tosqlserver do
begin
close;
sql.Clear;
sql.Add('insert into freetransaction(会员编号,金额,对应帐户,说明,操作日期,经手人,收支分类) values('+''''+'零租用户'+''''+','+''''+currtostr(dbtrans.fromaccessquery_2.FieldValues['sum1']) +''''
+','+''''+'收银箱'+''''+','+''''+dbtrans.fromaccessquery_2.FieldValues['memo']+''''+','+''''+datetostr(dbtrans.fromaccessquery_2.FieldValues['day']) +''''
+','+''''+dbtrans.fromaccessquery_2.FieldValues['name']+''''+','+''''+'零租押金'+''''+' )');
execsql;
end; //开始导入到TCS的资金表,其FID字段等它自动累加
with dbtrans.tosqlserver do //导入一条记录后提取自动生成的最近FID号
begin
close;
sql.Clear;
sql.Add('select max(freetransaction.FID)as FIDTCS from freetransaction');
open;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -