用c#代码实现ID编号问题

dingwenzhao 2008-07-12 10:50:55
比如说,我做一个仓库管理软件,在商品入库时都要给每种商品一个编号,用来区别其他商品
每种商品的编号都不能相同
...全文
128 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wheeler 2008-07-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 dingwenzhao 的帖子:]
比如说,我做一个仓库管理软件,在商品入库时都要给每种商品一个编号,用来区别其他商品
每种商品的编号都不能相同
[/Quote]

LZ的问题是什么呢?

[Quote=引用 2 楼 mulpig 的回复:]
给每种商品一个标志位,根据标志位判断
[/Quote]
顶2楼的此种做法!

可以写成:XXX(大类)XXX(小类)XXXX(商品)

bluedodo 2008-07-12
  • 打赏
  • 举报
回复
取系统时间来做编号,估计是一般业务流水才采用这种方法,个人认为还是用自动增加的标识做编号吧
草莓一点不甜 2008-07-12
  • 打赏
  • 举报
回复
1.可以取日期时间作为当前编号的标识的一部分.
2.考虑删除记录带来的麻烦
LeayAo 2008-07-12
  • 打赏
  • 举报
回复
用当前时间毫秒数做编号。
mulpig 2008-07-12
  • 打赏
  • 举报
回复
给每种商品一个标志位,根据标志位判断
webzt 2008-07-12
  • 打赏
  • 举报
回复
1,数据库可以用自动ID生成的字段,这样最可靠
2,c#作一个可以排序的表,每次把最后一个值加一就可以了,如 SortedDictionary<int,yourObject>
greenery 2008-07-12
  • 打赏
  • 举报
回复
1 在商品表的编号字段上设置自增长属性,有数据库位置每个商品的编号
2 使用当前时间(精确到毫秒)作为商品编号。(注意,真的有可能出现重复)
3 自己建立一个商品编号表,自己维护。可以设置大类小类等
create table ItemNumber(
MainType nvarchar(20),
SubType nvarchar(20),
KeyPrefixion nvarchar(20),
CurrnetNumber int)

可以配置为
MainType SubType KeyPrefixion CurrnetNumber
服装 大衣 YF_DY_ 1
服装 裤子 YF_KZ_ 1

创建新商品时,根据商品的类别,查询配置表的当前值,根据前缀创建一个编号
YF_DY_0001
YF_DY_0002
在查询配置表时,需要使用事务,取出CurrnetNumber后,对CurrnetNumber进行加1,然后提交事务。这样避免并发请求时可能出现的重复id问题。

110,043

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧