物流问答
用asp做快递体系,怎么完成主动编号
单号主要由两部分构成: 时间段 ,数字段
我英语欠好, 假定单号的英语是 dianhao, maxNumberpart的意思是单号中的自增加的那部分 比方0001-9999
所以就有了办法
String next(){
String dateString = getDateString();
int maxNumberpart = getMaxNumPart();
String stringNumberPart = formatLenIfNeed(maxNumberpart+1);
return dateString + stringNumberPart;
}
//这个办法是吧 数字换成需求显现位数的字串
//比方 1 就转成 0001, 26就转成 0026
formatLenIfNeed(int int4format, int needLen){
int realLength = Integer.toString(int4format).length();
if(realLength > needLength)
return Integer.toString(int4format);
StringBuilder ret = new StringBuilder(30);
for(int i = 0; i < needLength – realLength; i++)
ret.append();
ret.append(int4format);
return ret.toString();
}
//这个办法便是得到20081220这样的和日期相关的字串
//vb 我不知道改怎么弄
String getDateString(){
}
//这个办法是求出数字段的最大值, 办法是想办法去拼这样一个SQL
//单号那个字段的名称是 dianhao, 类型是 64位的int bigint(这样简略)
int getMaxNumPart(String dateString){
//是这样的一个sql
String sql =
“select max(dianhao) from 表”
+”where ”
+” diannao like (” + dateString + ” + \%)
+” and len(dianhao) = ” + (dateString.length() + 4)
}
http://www.yuntisoft.com/wuliuwenda/24876.html 用asp做快递体系,怎么完成主动编号