【发布时间】:2010-06-17 19:20:15
【问题描述】:
public int GenPurchaseOrderNum()
{
Random random = new Random();
_uniqueNum = random.Next(13287, 21439);
return UniqueNum;
}
我从数据库中的 PONumber 列中删除了唯一约束,因为员工 应该只生成 P.O. # 当交易成立时。否则,P.O. # 会有 0。
邮政信箱Number 曾经有唯一的约束,这迫使员工生成 P.O.在所有情况下,数据库都不会抛出唯一约束错误。
由于我删除了唯一约束,任何报价都没有 P.O.将携带 0 值。否则,会为 P.O. 生成唯一值。 #.但是,我在 db 中没有唯一约束,这让我很难知道应用程序是否生成了 P.O. # 是否唯一。
我该怎么办?
我希望我的问题足够清楚
【问题讨论】:
-
为什么要随机数?
-
是的 - 为什么是随机的?在我看来,您想要一个唯一的 PO 编号,而不是随机编号。如果这是真的,那么应该很容易使用对 Id 列具有唯一约束的 PO 表来生成 PO 编号。
-
这些数字几乎总是连续的,不是吗?如果您需要一些其他无法意外输入的唯一参考,我会使用 Guid。
-
我会取一个连续的数字,你从最后一个 P.O. 开始增加 +1。 # 在数据库中。
-
只是一个猜测 - 您不想使用序列号,因为它会显示您正在生成多少订单?
标签: c# .net sql-server