起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9142|回复: 12

[结贴] 自动序号问题

  [复制链接]

17

主题

78

帖子

132

积分

初级会员

Rank: 2

积分
132
QQ
发表于 2014-3-18 21:56:55 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
   某个字段设置了自动编号,但是每插入一行的时候自动编号就会自动加1,即使没有保存这条数据,
不知道是否可以设置为保存后才触发自动序号加1的操作

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-3-18 22:27:28 | 显示全部楼层
参考《X5自动编号相关函数和用法》第二点:http://bbs.justep.com/forum.php?mod=viewthread&tid=39632

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

QQ:179785966
回复 支持 反对

使用道具 举报

发表于 2014-3-18 22:35:42 | 显示全部楼层
可以在保存的时候自己写代码,根据数据库中编号来取数据库最大值的编号加1,然后保存即可。也可通过序列来实现,保存时触发。

评分

参与人数 1 +3 收起 理由
jishuang + 3 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

1

主题

313

帖子

859

积分

高级会员

Rank: 4

积分
859
发表于 2014-3-19 08:47:12 | 显示全部楼层
Integer tempNextSeq(String key);  //按照关键字产生一个临时的递增整型序号
    String tempNextSeqString(String key, String format); //按照关键字和序号格式,产生一个临时的递增组合编号
        这两个函数的产生规则与前两个基本相同,但是它们并不会真的在SA_KVSequence表中执行v=v+1操作。
        它们只是返回将要产生的下一个序号或编号,但是并不会真的占用这个号。
        这两个函数一般用于严格的不允许断号的应用场景,数据新增时先给用户显示一个将要产生的编号,但是在数据保存时会再用前两个函数生成真实的编号。
        例如:
            假设SA_KVSequence表中 k='AAA'、v=10
            执行nextSeq('AAA') 返回11,并且SA_KVSequence表中 k='AAA'、v=11
            而执行tempNextSeq('AAA') 虽然同样返回11,但是SA_KVSequence表中 k='AAA'、v=10(不变)

String createSerialNumberByCurrentDate(); //产生一个'yyyyMMdd00000'格式的递增组合编号
public static String createSerialNumberByCurrentDate() {
  String today = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.ENGLISH).format((new java.util.Date()));
  return nextSeqString(today, "00000");
}

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

明天会更好。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35924
发表于 2014-3-19 09:00:40 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

17

主题

78

帖子

132

积分

初级会员

Rank: 2

积分
132
QQ
 楼主| 发表于 2014-3-19 13:09:35 | 显示全部楼层
yinlun 发表于 2014-3-18 22:27
参考《X5自动编号相关函数和用法》第二点:http://bbs.justep.com/forum.php?mod=viewthread&tid=39632 ...

这个好像只是说明了几种自动编号的函数,没有说如何实现序号保存时才触发的方法
回复 支持 反对

使用道具 举报

17

主题

78

帖子

132

积分

初级会员

Rank: 2

积分
132
QQ
 楼主| 发表于 2014-3-19 13:10:22 | 显示全部楼层
lanware_smf 发表于 2014-3-18 22:35
可以在保存的时候自己写代码,根据数据库中编号来取数据库最大值的编号加1,然后保存即可。也可通过序列来 ...

这个只能写代码来实现吗?系统没有这样的功能设置吗?
回复 支持 反对

使用道具 举报

1

主题

1222

帖子

1378

积分

金牌会员

Rank: 6Rank: 6

积分
1378
QQ
发表于 2014-3-19 13:19:25 | 显示全部楼层
恩 必须写代码
回复 支持 反对

使用道具 举报

17

主题

78

帖子

132

积分

初级会员

Rank: 2

积分
132
QQ
 楼主| 发表于 2014-3-19 13:24:07 | 显示全部楼层
wangliang 发表于 2014-3-19 13:19
恩 必须写代码

为啥设置成新增的时候出发编号呢?没啥意义 ,改成保存时触发才是最合理的
回复 支持 反对

使用道具 举报

1

主题

1222

帖子

1378

积分

金牌会员

Rank: 6Rank: 6

积分
1378
QQ
发表于 2014-3-19 13:27:31 | 显示全部楼层
有时候需要显示在页面上啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-7 23:47 , Processed in 0.121809 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表