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