0

我有一个属性,我刚刚添加到我的数据库中以保存确认号。唯一的问题是它们都是空的,所以我得到了错误。因此我需要一种方法来生成随机确认号(不重复)。列条目的最大大小为 varchar(20)。任何想法如何做到这一点?谢谢

解决方案:

        randNum = Replace(Guid.NewGuid().ToString(), "-", "")
        randNum = randNum.Substring(0, 19)
4

2 回答 2

0

做了一分钟的研究,发现了这些例子。

VB中的随机数:VB.NET中的随机整数

SQL Server 中的随机数:http ://www.sql-server-helper.com/tips/generate-random-numbers.aspx

如果您不想使用没有任何意义的数字(如果您只是填充列以避免错误),您可以在 .NET 端使您的变量可以为空,以便它可以容纳空值。

Dim MyInt? as Integer

编辑:

您可以创建一个 GUID,删除破折号并将其减少到 20 个字符,这仍然不太可能重复。

编辑#2:如果您使用存储过程为新记录/更改记录执行这些更新(您应该这样做),您可以在 SQL 端创建随机数并将其作为 OUTPUT 变量返回。这将使您验证记录已创建/更新,并确认您在 .NET 端呈现。

编辑#3: myGuild.ToString().Replace("-","").SubString(0,20) 应该可以解决问题。

于 2012-05-15T21:18:39.350 回答
-1

尝试生成 GUID,这总是不同的

Guid.NewGuid().ToString()
于 2012-05-15T21:30:32.340 回答