我有一个属性,我刚刚添加到我的数据库中以保存确认号。唯一的问题是它们都是空的,所以我得到了错误。因此我需要一种方法来生成随机确认号(不重复)。列条目的最大大小为 varchar(20)。任何想法如何做到这一点?谢谢
解决方案:
randNum = Replace(Guid.NewGuid().ToString(), "-", "")
randNum = randNum.Substring(0, 19)
我有一个属性,我刚刚添加到我的数据库中以保存确认号。唯一的问题是它们都是空的,所以我得到了错误。因此我需要一种方法来生成随机确认号(不重复)。列条目的最大大小为 varchar(20)。任何想法如何做到这一点?谢谢
解决方案:
randNum = Replace(Guid.NewGuid().ToString(), "-", "")
randNum = randNum.Substring(0, 19)
做了一分钟的研究,发现了这些例子。
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) 应该可以解决问题。
尝试生成 GUID,这总是不同的
Guid.NewGuid().ToString()