FUNCTION FINXMID(MC:STRING):INTEGER;
BEGIN
FINXMID:=0;
WITH FRMDATALOGO DO
BEGIN
SELTEMP.SQL.Clear;
SELTEMP.SQL.Add('SELECT XMBH FROM XM WHERE AVAI=1 AND XMMC=' + '''' + MC + '''');
SELTEMP.OPEN;
IF SELTEMP.RecordCount > 0 THEN
BEGIN
SELTEMP.First;
RESULT:=SELTEMP.Fields[0].AsInteger;
END;
SELTEMP.Close;
END;
END;
{==============================================================================}
{===================================创建日志文件===============================}FUNCTION FILE_CREATE(FILENAME:STRING):BOOLEAN; //创建日志文件
var
FileHandle : INTEGER;
BEGIN
FileHandle := FileOpen(FILENAME, fmOpenWrite);
FileClose(FileHandle);
IF FileHandle < 0 then
BEGIN
FileHandle := FileCREATE(FILENAME);
FileClose(FileHandle);
END;
RESULT:= TRUE;
END;{===================================写日志文件=================================}procedure WRITE_LOG(USER,THINGSTR:STRING);
VAR
MYLOGFILE:TEXTFILE;
STR:STRING;
BEGIN
STR:=DATETIMETOSTR(NOW) + ' ' + USER + ' --> ' + THINGSTR;
AssignFile(MYLOGFILE,FILENAME);
APPEND(MYLOGFILE);
TRY
BEGIN
WRITELN(MYLOGFILE,STR);
END;
FINALLY
CLOSEFILE(MYLOGFILE);
END;
END;
FUNCTION GET_RECORD(TAB:STRING):INTEGER;
BEGIN
FRMDATALOGO.ADOQother.SQL.Clear;
FRMDATALOGO.ADOQother.SQL.Add('SELECT * FROM ' + TAB);
FRMDATALOGO.ADOQother.Open;
GET_RECORD:=FRMDATALOGO.ADOQother.RecordCount;
END;
function chpassword(pass,FindUser:string):boolean;
var
UPTEMP:TADOQUERY;
begin
uptemp:=Tadoquery.Create(nil);
uptemp.Connection:=frmdatalogo.ADOConn;
uptemp.sql.Clear;
uptemp.SQL.Add('update YHGL set PASS=' + '''' + pass + '''' + ' where ID=' + '''' + Finduser + '''');
uptemp.ExecSQL;
result:=true;
uptemp.Destroy;
end;{==============================================================================}
{================================取得查询信息==================================}function get_sysInfo(Findstr,FindID,SeaID,FinTable:string):string;
var
seltemp:TADOQUERY;
begin
seltemp:=Tadoquery.Create(nil);
seltemp.Connection:=frmdatalogo.ADOConn;
seltemp.sql.Clear;
seltemp.SQL.Add('select ' + Findstr + ' from ' + fintable + ' where ' + findId + '=' + '''' + seaID + '''');
seltemp.Open;
if seltemp.RecordCount>0 then get_sysInfo:=trim(seltemp.Fields[0].AsString);
seltemp.Destroy;;
end;{==============================================================================}
{==========================获得终止日期========================================}function get_ENDDATE(VAR ID:STRING;LASTTIME:TDATETIME):Tdatetime;
var
seltemp:TadoQuery;
begin
seltemp:=TADOQuery.Create(nil);
seltemp.Connection:=frmdatalogo.ADOConn;
seltemp.SQL.Clear;
seltemp.SQL.Add('select C_END from cardinfo WHERE C_ID=' + '''' + ID + '''' + 'AND C_LTIME=' + '''' + DATETIMETOSTR(LASTTIME) + '''');
seltemp.Open;
get_ENDDATE:=seltemp.Fields[0].AsDateTime;
seltemp.Destroy;
end;
FUNCTION FormExists(FORM_NAME:STRING):BOOLEAN; //查找窗体
BEGIN
IF Application.FindComponent(FORM_NAME)=nil then RESULT := FALSE ELSE RESULT := TRUE;
END;PROCEDURE ADD_INFOR(CB:TComboBox;CZSYS,TABLE:STRING); //往下拉例表框中添加内容
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(' + CZSYS + ') FROM ' + TABLE);
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;PROCEDURE ADD_CLGG(CB:TComboBox;CZSYS,TABLE,MC:STRING); //往下拉例表框添加材料规格
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(' + CZSYS + ') FROM ' + TABLE + ' WHERE CLMC=' + '''' + MC + '''');
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;PROCEDURE ADD_PDBH(CB:TComboBox;TABLE,CZSYS,MC:STRING); //往下拉例表框添加凭单编号
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(XMBH) FROM ' + TABLE + ' WHERE ' + CZSYS + ' = ' + MC );
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;
PROCEDURE DEL_CLJL(XMBH:INTEGER;ID,CLMC,CLGG,TAB:STRING); //删除库记录
BEGIN
WITH FRMDATALOGO.ADOQDELRK DO
BEGIN
SQL.Clear;
SQL.Add('DELETE FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH) + ' AND ID='
+ ID + ' AND CLMC=' + '''' + CLMC + '''' +
' AND CLGG=' + '''' + CLGG + '''');
ExecSQL;
CLOSE;
END;
END;
//*******************************************查找项目************************
PROCEDURE CZXM(KJ:TComboBox;ZT:INTEGER);
BEGIN
TRY
KJ.ITEMS.Clear;
FRMDATALOGO.ADOConn.BeginTrans;
WITH FRMDATALOGO.SELTEMP DO
BEGIN
SQL.Clear;
SQL.Add('SELECT X.XMMC FROM XM AS X,XMGL AS G WHERE G.GLBH=X.XMBH AND G.ZT=' + INTTOSTR(ZT) + ' AND X.AVAI=1 AND G.XMBH='+ INTTOSTR(CZXMID));
OPEN;
WHILE NOT EOF DO
BEGIN
KJ.Items.Add(FIELDS[0].ASSTRING);
NEXT;
END;
CLOSE;
END;
FRMDATALOGO.ADOConn.CommitTrans;
EXCEPT
FRMDATALOGO.ADOConn.RollbackTrans;
APPLICATION.MessageBox('查找项目名称失败!','系统信息',MB_ICONSTOP);
END;
END;//**********************************查找重复项目****************************
FUNCTION CZCFJL(XMBH,ID:INTEGER;CLMC,CLGG,TAB:STRING):BOOL;
BEGIN
RESULT:=FALSE;
WITH FRMDATALOGO.ADOQOTHER DO
BEGIN
SQL.Clear;
SQL.Add('SELECT * FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH)
+ ' AND ID=' +INTTOSTR(ID) + ' AND CLMC=' + '''' + CLMC + ''''
+' AND CLGG=' + '''' + CLGG + '''');
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=TRUE;
END;
END;//**********************************查找重复库存****************************
FUNCTION CZCFKC(XMBH:INTEGER;CLMC,CLGG,TAB:STRING):BOOL;
BEGIN
RESULT:=FALSE;
WITH FRMDATALOGO.ADOQOTHER DO
BEGIN
SQL.Clear;
SQL.Add('SELECT * FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH)
+ ' AND CLMC=' + '''' + CLMC + '''' +' AND CLGG=' + ''''
+ CLMC + '''');
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=TRUE;
END;
END;FUNCTION GET_PDBH(XMID:INTEGER;PDID,TAB:STRING):INTEGER; //获得凭单编号
BEGIN
TRY
FRMDATALOGO.ADOConn.BeginTrans;
WITH FRMDATALOGO.SELTEMP DO
BEGIN
SQL.Clear;
SQL.Add('SELECT MAX('+ PDID + ') FROM ' + TAB +' WHERE XMBH=' + INTTOSTR(XMID));
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=FIELDS[0].AsInteger+1 ELSE RESULT:=1;
CLOSE;
END;
FRMDATALOGO.ADOConn.CommitTrans;
EXCEPT
FRMDATALOGO.ADOConn.RollbackTrans;
APPLICATION.MessageBox('配置凭单编号失败!','系统信息',MB_ICONSTOP);
END;
END;
BEGIN
FINXMID:=0;
WITH FRMDATALOGO DO
BEGIN
SELTEMP.SQL.Clear;
SELTEMP.SQL.Add('SELECT XMBH FROM XM WHERE AVAI=1 AND XMMC=' + '''' + MC + '''');
SELTEMP.OPEN;
IF SELTEMP.RecordCount > 0 THEN
BEGIN
SELTEMP.First;
RESULT:=SELTEMP.Fields[0].AsInteger;
END;
SELTEMP.Close;
END;
END;
{==============================================================================}
{===================================创建日志文件===============================}FUNCTION FILE_CREATE(FILENAME:STRING):BOOLEAN; //创建日志文件
var
FileHandle : INTEGER;
BEGIN
FileHandle := FileOpen(FILENAME, fmOpenWrite);
FileClose(FileHandle);
IF FileHandle < 0 then
BEGIN
FileHandle := FileCREATE(FILENAME);
FileClose(FileHandle);
END;
RESULT:= TRUE;
END;{===================================写日志文件=================================}procedure WRITE_LOG(USER,THINGSTR:STRING);
VAR
MYLOGFILE:TEXTFILE;
STR:STRING;
BEGIN
STR:=DATETIMETOSTR(NOW) + ' ' + USER + ' --> ' + THINGSTR;
AssignFile(MYLOGFILE,FILENAME);
APPEND(MYLOGFILE);
TRY
BEGIN
WRITELN(MYLOGFILE,STR);
END;
FINALLY
CLOSEFILE(MYLOGFILE);
END;
END;
FUNCTION GET_RECORD(TAB:STRING):INTEGER;
BEGIN
FRMDATALOGO.ADOQother.SQL.Clear;
FRMDATALOGO.ADOQother.SQL.Add('SELECT * FROM ' + TAB);
FRMDATALOGO.ADOQother.Open;
GET_RECORD:=FRMDATALOGO.ADOQother.RecordCount;
END;
function chpassword(pass,FindUser:string):boolean;
var
UPTEMP:TADOQUERY;
begin
uptemp:=Tadoquery.Create(nil);
uptemp.Connection:=frmdatalogo.ADOConn;
uptemp.sql.Clear;
uptemp.SQL.Add('update YHGL set PASS=' + '''' + pass + '''' + ' where ID=' + '''' + Finduser + '''');
uptemp.ExecSQL;
result:=true;
uptemp.Destroy;
end;{==============================================================================}
{================================取得查询信息==================================}function get_sysInfo(Findstr,FindID,SeaID,FinTable:string):string;
var
seltemp:TADOQUERY;
begin
seltemp:=Tadoquery.Create(nil);
seltemp.Connection:=frmdatalogo.ADOConn;
seltemp.sql.Clear;
seltemp.SQL.Add('select ' + Findstr + ' from ' + fintable + ' where ' + findId + '=' + '''' + seaID + '''');
seltemp.Open;
if seltemp.RecordCount>0 then get_sysInfo:=trim(seltemp.Fields[0].AsString);
seltemp.Destroy;;
end;{==============================================================================}
{==========================获得终止日期========================================}function get_ENDDATE(VAR ID:STRING;LASTTIME:TDATETIME):Tdatetime;
var
seltemp:TadoQuery;
begin
seltemp:=TADOQuery.Create(nil);
seltemp.Connection:=frmdatalogo.ADOConn;
seltemp.SQL.Clear;
seltemp.SQL.Add('select C_END from cardinfo WHERE C_ID=' + '''' + ID + '''' + 'AND C_LTIME=' + '''' + DATETIMETOSTR(LASTTIME) + '''');
seltemp.Open;
get_ENDDATE:=seltemp.Fields[0].AsDateTime;
seltemp.Destroy;
end;
FUNCTION FormExists(FORM_NAME:STRING):BOOLEAN; //查找窗体
BEGIN
IF Application.FindComponent(FORM_NAME)=nil then RESULT := FALSE ELSE RESULT := TRUE;
END;PROCEDURE ADD_INFOR(CB:TComboBox;CZSYS,TABLE:STRING); //往下拉例表框中添加内容
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(' + CZSYS + ') FROM ' + TABLE);
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;PROCEDURE ADD_CLGG(CB:TComboBox;CZSYS,TABLE,MC:STRING); //往下拉例表框添加材料规格
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(' + CZSYS + ') FROM ' + TABLE + ' WHERE CLMC=' + '''' + MC + '''');
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;PROCEDURE ADD_PDBH(CB:TComboBox;TABLE,CZSYS,MC:STRING); //往下拉例表框添加凭单编号
BEGIN
WITH FRMDATALOGO DO
BEGIN
ADOQOTHER.SQL.Clear;
ADOQOTHER.SQL.Add('SELECT distinct(XMBH) FROM ' + TABLE + ' WHERE ' + CZSYS + ' = ' + MC );
ADOQOTHER.Open;
CB.Items.Clear;
WHILE NOT ADOQOTHER.Eof DO
BEGIN
if (trim(ADOQOTHER.Fields[0].ASSTRING)<>'') AND (trim(ADOQOTHER.Fields[0].ASSTRING)<>'SYSTEM' ) then CB.Items.Add(ADOQOTHER.Fields[0].ASSTRING);
ADOQOTHER.Next;
END;
ADOQOTHER.CLOSE;
END;
END;
PROCEDURE DEL_CLJL(XMBH:INTEGER;ID,CLMC,CLGG,TAB:STRING); //删除库记录
BEGIN
WITH FRMDATALOGO.ADOQDELRK DO
BEGIN
SQL.Clear;
SQL.Add('DELETE FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH) + ' AND ID='
+ ID + ' AND CLMC=' + '''' + CLMC + '''' +
' AND CLGG=' + '''' + CLGG + '''');
ExecSQL;
CLOSE;
END;
END;
//*******************************************查找项目************************
PROCEDURE CZXM(KJ:TComboBox;ZT:INTEGER);
BEGIN
TRY
KJ.ITEMS.Clear;
FRMDATALOGO.ADOConn.BeginTrans;
WITH FRMDATALOGO.SELTEMP DO
BEGIN
SQL.Clear;
SQL.Add('SELECT X.XMMC FROM XM AS X,XMGL AS G WHERE G.GLBH=X.XMBH AND G.ZT=' + INTTOSTR(ZT) + ' AND X.AVAI=1 AND G.XMBH='+ INTTOSTR(CZXMID));
OPEN;
WHILE NOT EOF DO
BEGIN
KJ.Items.Add(FIELDS[0].ASSTRING);
NEXT;
END;
CLOSE;
END;
FRMDATALOGO.ADOConn.CommitTrans;
EXCEPT
FRMDATALOGO.ADOConn.RollbackTrans;
APPLICATION.MessageBox('查找项目名称失败!','系统信息',MB_ICONSTOP);
END;
END;//**********************************查找重复项目****************************
FUNCTION CZCFJL(XMBH,ID:INTEGER;CLMC,CLGG,TAB:STRING):BOOL;
BEGIN
RESULT:=FALSE;
WITH FRMDATALOGO.ADOQOTHER DO
BEGIN
SQL.Clear;
SQL.Add('SELECT * FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH)
+ ' AND ID=' +INTTOSTR(ID) + ' AND CLMC=' + '''' + CLMC + ''''
+' AND CLGG=' + '''' + CLGG + '''');
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=TRUE;
END;
END;//**********************************查找重复库存****************************
FUNCTION CZCFKC(XMBH:INTEGER;CLMC,CLGG,TAB:STRING):BOOL;
BEGIN
RESULT:=FALSE;
WITH FRMDATALOGO.ADOQOTHER DO
BEGIN
SQL.Clear;
SQL.Add('SELECT * FROM ' + TAB + ' WHERE XMBH=' + INTTOSTR(XMBH)
+ ' AND CLMC=' + '''' + CLMC + '''' +' AND CLGG=' + ''''
+ CLMC + '''');
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=TRUE;
END;
END;FUNCTION GET_PDBH(XMID:INTEGER;PDID,TAB:STRING):INTEGER; //获得凭单编号
BEGIN
TRY
FRMDATALOGO.ADOConn.BeginTrans;
WITH FRMDATALOGO.SELTEMP DO
BEGIN
SQL.Clear;
SQL.Add('SELECT MAX('+ PDID + ') FROM ' + TAB +' WHERE XMBH=' + INTTOSTR(XMID));
OPEN;
IF RECORDCOUNT > 0 THEN RESULT:=FIELDS[0].AsInteger+1 ELSE RESULT:=1;
CLOSE;
END;
FRMDATALOGO.ADOConn.CommitTrans;
EXCEPT
FRMDATALOGO.ADOConn.RollbackTrans;
APPLICATION.MessageBox('配置凭单编号失败!','系统信息',MB_ICONSTOP);
END;
END;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货