我遇到的这个问题时,思路没有想好,到最后写到一半了 ,才发现写错了。回家时在电梯里想了一下,顿时来了灵感。
思路:
我根据我做项目的思路来写。首先是我需要让某一个字段值的末尾依次增长加1,并把值给另一个字段(也可以还给自己本身)。那么第一步就是要获取这个字段的值,第二步就是要查询出这个字段本身的最大值,第三步判断查询数据结果值,值如果为零则后面加1,不为零则判断是否大于10,或者是否大于100。
1.获取值:
获取所需要在哪一个值后面增加值。
2.SQL查询语句:
SELECT MAX(TO_NUMBER(SubStr(T.字段名,保留的几位数)+1)) as TASK FROM 表名;
注:所保留的数 可以写为负数 比如-3 列:123456223 结果为:224 结果加1
那么现在查询出来的值是数值类型。接收所查询出来的值 TASK int 类型接收。
3.逻辑判断:
1 String Data=
"";
2
3 if(count>
0)
//查询有数据
4
5 {
7 if(TASK<
10)
//末尾的结果至是否大于10
9 {
11 if(TASK.ToString()==
"0")
//如果是0 那么代表第一次增加 后面增加001 否则加上查询的值(因为小于10)
12
13 {
15 Data=获取的值+“
001”;
16
17 }
else
18
19 {
20
21 Data=获取的值+
"00"+
TASK.Tostring();
23 }
25 }
26
27 else if(TASK>=
10&&TASK<
99)
//代表两位数 十位数上不能再是0
28
29 {
31 Data=获取的值+
"0"+
TASK.Tostring();
33 }
34
35 else if(TASK>=
100&&TASK<
999)
//百位上不能再是0
36
37 {
39 Data=获取的值+
TASK.Tostring();
41 }
42
43 else
44
45 {
46
47 Message=
"上限最大值是999"
48
49 }
50
51 }
当然不一定是三位的 也可以以此类推往后增加 看需求。方法应该有很多种,想到了这一种就记录了下来。
转载于:https://www.cnblogs.com/Xtudou/p/9272410.html