请问,本人想实现的是:
其中树型结构:    学院(代码:XY)
                      ----科技学院(代码:KJ)
                              ------计算机系(代码:JSJ)
                                        ------02计(1)(代码:01)
                                        ------02计(2)(代码:02)
然后在填“学生表”的时候如果选择了02计(2),那么这个学生的代码就是XY-KJ-JSJ-02-0001
后面的0001是自动加上去的,能够自增的(第一个就是0001,第二个0002……),请问怎么实现?

解决方案 »

  1.   

    如果是在treeview,你可以判断“02计”的子节点数,那么下一个节点的编号就是子节点数加1;
    如果是在数据库端,你可以通过sql语句来完成,例如:
    SELECT COUNT(*) + 1 AS NextID FROM yourTable WHERE StudentCode LIKE 'XY-KJ-JSJ-02-%'以上两种方法都是取得整型数,要转换成“0000” 的格式,只要ToString( "0000" )即可。
    不过,以上的方法只是在学生的代码是按照顺序排列进行的,因此当发生删除某个学生的情况发生,以上方法就失效了,比较的办法,是数据库端做些修改,就是要单独存入后一位,并按照整型来存,那么就可以通过sql语句来完成,例如:
    SELECT MAX(StudentNO) + 1 AS NextID FROM yourTable WHERE StudentCode LIKE 'XY-KJ-JSJ-02-%'