求教,把Oracle中的功能语句改成可在Delphi中实现语句
delphi吧
全部回复
仅看楼主
level 10
michaelashow 楼主
本人Delphi新手,找到一个有用的语句,如下
SELECT TO_CHAR(SYSDATE,*YYYYMMDD*)||LPAD(SUBSTR(MAX(FBILL_NO),9,4)+1,4,0) FBILL_NO FROM CX_BILL_MAIN WHERE SUBSTR(FBILL_NO,1,8)=TO_CHAR(SYSDATE,*YYYYMMDD*)
功能是从CX_BILL_MAIN这个表里选择FBILL_NO前八位数等于当前时间的FBILL_NO,然后取FBILL_NO中最大的一个,并给它+1,成为一个新的FBILL_NO
我是想把它改为可以再Delphi中实现功能的语句,然后尝试了这么写
定义一个功能函数MidStr
MidStr := Copy(Str, From, Size);
设一个sqlstr : string 让i取CX_BILL_MAIN表里排序最大的FBILL_NO的后四位数
sqlstr := **;
sqlstr := sqlstr + *select SUBSTR(MAX(FBILL_NO),9,4) from CX_BILL_MAIN where MidStr(FBILL_NO,1,8) = FormatDateTime(****YYYYMMDD****, now) *;
最后
tmpBillNo :=FormatDateTime(*YYYYMMDD*, now) + sqlstr + IntToStr(1);
DMC.ExecQuery(sqlstr);
但是调试的时候tmpBillNo取的是*20140913select SUBSTR(MAX(FBILL_NO),9,4) from CX_BILL_MAIN where MidStr(FBILL_NO,1,8) = FormatDateTime(**YYYYMMDD**, now) 1*。
求大神指点
2014年09月13日 09点09分 1
1