FUNCTION TABLEFINDMAXITM(TNAME1, FNAME1,VALUE1,FNAME2:STRING):STRING;
VAR CNT_STR : STRING;
QDBCHECK : TQUERY;
counter:integer;
BEGIN TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'CXDB'; QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT MAX('+ FNAME2 +') FROM');
QDBCHECK.SQL.Add( TNAME1);
QDBCHECK.SQL.Add('WHERE '+FNAME1+' = '''+VALUE1+'''');
QDBCHECK.Close;
// SHOWMESSAGE( QDBCHECK.SQL.TEXT);
QDBCHECK.Open;
if QDBCHECK.Fields[0].IsNull=true then
CNT_STR := '0'
else
CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
counter:=strtoint(Cnt_str);
inc(counter); cnt_str:='00'+inttostr(counter);
cnt_str:=copy(cnt_str,length(cnt_str)-2,2); RESULT := CNT_STR; FINALLY
QDBCHECK.Free;
END;
END;这个是我写的增加编码号的函数,在增加主表的时候没问题,主表唯一区别是8位编码,细表在增加的时候编码老是为'00'不解之
所以想高手提供一些好的经典的代码
分不够我可以加,关键是好东西
VAR CNT_STR : STRING;
QDBCHECK : TQUERY;
counter:integer;
BEGIN TRY
QDBCHECK := TQUERY.Create(APPLICATION.Owner);
QDBCHECK.DatabaseName := 'CXDB'; QDBCHECK.SQL.Clear;
QDBCHECK.SQL.Add('SELECT MAX('+ FNAME2 +') FROM');
QDBCHECK.SQL.Add( TNAME1);
QDBCHECK.SQL.Add('WHERE '+FNAME1+' = '''+VALUE1+'''');
QDBCHECK.Close;
// SHOWMESSAGE( QDBCHECK.SQL.TEXT);
QDBCHECK.Open;
if QDBCHECK.Fields[0].IsNull=true then
CNT_STR := '0'
else
CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
counter:=strtoint(Cnt_str);
inc(counter); cnt_str:='00'+inttostr(counter);
cnt_str:=copy(cnt_str,length(cnt_str)-2,2); RESULT := CNT_STR; FINALLY
QDBCHECK.Free;
END;
END;这个是我写的增加编码号的函数,在增加主表的时候没问题,主表唯一区别是8位编码,细表在增加的时候编码老是为'00'不解之
所以想高手提供一些好的经典的代码
分不够我可以加,关键是好东西
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货