物流問答
用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://m.jintingqj.cn/wuliuwenda/78058.html 用asp做快遞體系,怎么完成主動編號