即简单又完美的不重复编号是如何生成的呢?

光阴似箭,岁月如梭。在实际生活中,开发软件,做项目什么滴,都要用到编号,单号等等之类。例如飞机有航班号;快递有快递单号,运单号;医院里要用到的住院号;并且这些单号,编号都是不能相同滴,只能让系统生成。手动输入生成的编号,单号有可能存在重复不能成功的情况,这里指的是数据库数据较多的情况下。用以前的做法可能有点麻烦
在这里插入图片描述

以前的作法是,举个例子:验证码也是随机生成的字符串,虽然不一定不会重复,起码跟单号,编号有半毛钱关系吧。其实不重复的单号也可以利用for循环写出来,然后呢通过判断验证不重复数据。道理上讲确实没错。问题是代码量大。
在这里插入图片描述

我要说的C#项目,我生成的编号是医院系统的住院号,然后我想说的是直接获取设备日期跟时间,然后转化成字符串格式,将字符串回填到提前准备好的输入框里面就可以啦,然后保存到数据库就可以啦。
方法很简单,保存类似于新增。

获取设备日期时间代码,精确到秒,如下:
string strTime = DateTime.Now.ToString(“yyyyMMddHHmmss”);

输入框的代码图如下:仅供参考,可靠大脑自己发挥。
在这里插入图片描述

下面就是在视图写方法,post提交表单到控制器。很简单,就是跟新增一样,这么说吧。
在这里插入图片描述

最后在控制器写新增的方法,把数据库要新增的字段查询一遍,页面传过来的字段要跟这边的对应。然后将刚才声明的strtime赋值给它就可以啦,最后就是保存新增。去到数据库就可以看到成功生成的编号了。

由于是获取当前日期时间拼接的字符串,所以不存在重复的编号啦。除非时光倒流。
只要符合业务需求就可以用的,管它那么多。最后总结一下就两句代码搞定了即简单又完美的不重复编号.
1.声明
string strTime = DateTime.Now.ToString(“yyyyMMddHHmmss”);
2.赋值
BeHospitalized = strTime,

跟for循环出来的编号相比,是不是简单很多呢,最起码代码很少很简洁,你还在等什么,你也试试吧呢?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值