www.pudn.com > transfox.rar > trans.pas
unit trans;
interface
uses data,Windows, Forms, Controls,SysUtils,Dialogs,DBGrids,StdCtrls,DBTables;
type MsgType=(Succeed,Error);
//function SeekSickCaseInfo(zyh:integer;var caseid,byxm,nl,xb,ksmc,rysj,cysj:string):boolean;
//procedure DeleteSeekInfo(zyh:string);
procedure BrowsSeekInfo(datefrom,dateto:tdatetime;ksbm:SmallInt);
procedure UpdateSeekInfo(caseidset:string);
procedure TransSickCase(tbname,caseidset:string);
procedure ClewMessage(amsgtype:MsgType;msg:string);//提示信息
procedure Deplist(combox:tcombobox);
function CaseidSet(dbgrid:Tdbgrid):string;
implementation
procedure Deplist(combox:tcombobox);
begin
combox.Items.clear;
with dm.Q_ks do
begin
close;
sql.clear;
sql.add('select ksbh,ksmc from yiyuandb..ks_zyks where ifzy=1 and ksbh not in (301,302,310,320,330,202,200,232)');
open;
while not eof do
begin
combox.Items.add(fieldbyname('ksbh').asstring+' '+fieldbyname('ksmc').asstring);
next;
end;
end;
end;
procedure BrowsSeekInfo(datefrom,dateto:tdatetime;ksbm:SmallInt);
begin
with dm.Q_brows do
begin
close;
sql.clear;
sql.add('exec sickcase..caseface_search :datefrom,:dateto,:ksbm');
parambyname('datefrom').asdatetime:=datefrom;
parambyname('dateto').asdatetime:=dateto;
parambyname('ksbm').AsSmallInt:=ksbm;
open;
end;
end;
procedure ClewMessage(amsgtype:MsgType;msg:string);
begin
case amsgtype of
Succeed:application.MessageBox(pchar(msg),'信息',MB_ICONINFORMATION);
Error:application.MessageBox(pchar(msg),'信息',MB_ICONERROR);
end;
end;
procedure DeleteSeekInfo(zyh: string);
begin
if MessageDlg('是否删除?',mtConfirmation, [mbYes, mbNo], 0) <> mrYes then exit;
with dm.Q_sickcase do
begin
close;
sql.clear;
sql.add('delete sickcase..casetrans ');
sql.add('where zyh=:zyh');
parambyname('zyh').asstring:=zyh;
try
ExecSQL;
except
clewmessage(error,'保存失败');
exit;
end;
end;
end;
function SeekSickCaseInfo(zyh:integer;var caseid,byxm,nl,xb,ksmc,rysj,cysj:string):boolean;
begin
with dm.Q_sickcase do
begin
close;
sql.clear;
sql.add('select *,b.kbmc from sickcase..baza a,sickcase..babkbdm b');
sql.add('where baza01=:zyh and a.baza21=b.dm');
parambyname('zyh').asinteger:=zyh;
open;
if not isempty then
begin
caseid:=fieldbyname('baza01').asstring;
byxm:=fieldbyname('baza02').asstring;
nl:=fieldbyname('baza06').asstring;
xb:=fieldbyname('baza03').asstring;
ksmc:=fieldbyname('kbmc').asstring;
rysj:=fieldbyname('baza25').asstring;
cysj:=fieldbyname('baza27').asstring;
result:=true;
end else result:=false;
end;
end;
procedure TransSickCase(tbname,caseidset:string);
const sqlstr1='select * from sickcase..%s';
sqlstr2='delete from %s where baza01 in (%s)';
sqlstr3='where baza01 in (%s)';
begin
{with dm.Q_delete do
begin
close;
sql.clear;
sql.Add(format(sqlstr2,[tbname,caseidset]));
Execsql;
end;}
{ with dm.Q_source do
begin
close;
sql.clear;
//if tbname='baf1' then
//sql.Add('select baf102,baf103,baf104,baf105,baf106,baf111,baza01,baf112 from sickcase..baf1')
//else
sql.Add(format(sqlstr1,[tbname+'_temp']));
// sql.Add('select * from sickcase..baza_temp');
open;
//sql.Add(format(sqlstr3,[caseidset]));
end;}
DM.BtchMv_sickcase.Source :=DM.Tbl_source;
DM.BtchMv_sickcase.Destination:=DM.Tbl_dest;
// DM.Tbl_source.TableName:='baza_temp';
// DM.Tbl_dest.TableName:='baza';
DM.Tbl_source.TableName:=trim(tbname)+'_temp';
DM.Tbl_dest.TableName:=trim(tbname);
with DM.BtchMv_sickcase do
begin
Source :=dm.Tbl_source;
Destination :=DM.Tbl_dest;
Mode := batCopy;
try
Execute;
//ShowMessage(tbname+'_temp:'+IntToStr(MovedCount) + ' records copied');
except
ShowMessage(tbname+'_temp传输失败!');
exit;
end;
end;
end;
function CaseidSet(dbgrid:Tdbgrid):string;
var str0,str1:string;
str0len:integer;
begin
with dbgrid.DataSource.DataSet do
begin
First;
while not Eof do
begin
str1:=FieldByName('zyh').AsString;
str0:=str0+'"'+str1+'"'+',';
str0len:=length(str0);
next;
end;
end;
result:=copy(str0,1,str0len-1);
end;
procedure UpdateSeekInfo(caseidset:string);
const sqlstr1='update sickcase..casetrans set ifaccept=1 where zyh in (%s)';
begin
with dm.Q_sickcase do
begin
close;
sql.clear;
sql.Add(format(sqlstr1,[caseidset]));
Execsql;
end;
end;
end.