随机对象多次返回相同的结果 Protected Sub Button1\u Click(ByVal sender作为对象,ByVal e作为System.EventArgs)处理按钮1。单击 新员工 作为字符串的Dim strConn strConn=ConfigurationManager.ConnectionString(“ConnectionString”).ToString Dim conn作为新的SqlConnection(strConn) 作为字符串的Dim strSql strSql=“从员工中选择员工” Dim cmd作为新的SqlCommand(strSql,conn) Dim daMember作为新的SqlDataAdapter(cmd) Dim ds作为新数据集 康涅狄格州公开赛 daMember.填料(ds,“工作人员”) Dim i As Integer=ds.Tables(“Staff”).Rows.Count-1 对于ds.Tables(“Staff”)行中的每个dr As数据行 strSql=“Update cio密码集CIPassword=@CI,COPassword=@CO其中StaffID=@id” Dim cmd2作为新的SqlCommand(strSql,conn) Dim output1 As String=“” Dim output2 As String=“” Dim random作为新的random() Dim val,val2为整数 对于j,作为整数=0到9 val=random.[Next](1,36) val2=随机。[下一步](1,36) 输出1+=ChrW(IIf(val
每次创建一个随机对象多次返回相同的结果 Protected Sub Button1\u Click(ByVal sender作为对象,ByVal e作为System.EventArgs)处理按钮1。单击 新员工 作为字符串的Dim strConn strConn=ConfigurationManager.ConnectionString(“ConnectionString”).ToString Dim conn作为新的SqlConnection(strConn) 作为字符串的Dim strSql strSql=“从员工中选择员工” Dim cmd作为新的SqlCommand(strSql,conn) Dim daMember作为新的SqlDataAdapter(cmd) Dim ds作为新数据集 康涅狄格州公开赛 daMember.填料(ds,“工作人员”) Dim i As Integer=ds.Tables(“Staff”).Rows.Count-1 对于ds.Tables(“Staff”)行中的每个dr As数据行 strSql=“Update cio密码集CIPassword=@CI,COPassword=@CO其中StaffID=@id” Dim cmd2作为新的SqlCommand(strSql,conn) Dim output1 As String=“” Dim output2 As String=“” Dim random作为新的random() Dim val,val2为整数 对于j,作为整数=0到9 val=random.[Next](1,36) val2=随机。[下一步](1,36) 输出1+=ChrW(IIf(val,sql,vb.net,random,Sql,Vb.net,Random,每次创建一个Random对象时,它都会使用当前时间作为种子创建一个新的随机序列。如果同时创建一组Random对象,它们都将具有相同的种子,因此将生成相同的序列。因此,您应该只创建一个Random对象,然后重新创建一个Random对象在完成之前使用同一个循环。不要在循环中不断创建新的循环,因为如果循环运行得太快,它们最终将不是“随机的”.每次创建一个Random对象时,它都会使用当前时间作为种子创建一个新的随机序列。如果同时创建一组Random对象,它们都将具有相同的种子,因此将生成相同的序列。因
Random
对象时,它都会使用当前时间作为种子创建一个新的随机序列。如果同时创建一组Random
对象,它们都将具有相同的种子,因此将生成相同的序列。因此,您应该只创建一个Random
对象,然后重新创建一个Random
对象在完成之前使用同一个循环。不要在循环中不断创建新的循环,因为如果循环运行得太快,它们最终将不是“随机的”.每次创建一个Random
对象时,它都会使用当前时间作为种子创建一个新的随机序列。如果同时创建一组Random
对象,它们都将具有相同的种子,因此将生成相同的序列。因此,您应该只创建一个Random
对象,然后重新创建在完成之前,请使用同一个。不要在循环中不断创建新的循环,因为如果循环运行得太快,它们最终将不是“随机的”。请查看此网站
您的
random.[Next]
可能不正确。请查看此网站
你的
random.[Next]
可能不正确。非常感谢,你的评论很有用我解决了我的问题。非常感谢,你的评论很有用我解决了我的问题。谢谢
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As New Staff
Dim strConn As String
strConn = ConfigurationManager.ConnectionStrings("ConnectionString").ToString
Dim conn As New SqlConnection(strConn)
Dim strSql As String
strSql = "SELECT StaffID FROM Staff"
Dim cmd As New SqlCommand(strSql, conn)
Dim daMember As New SqlDataAdapter(cmd)
Dim ds As New DataSet
conn.Open()
daMember.Fill(ds, "Staff")
Dim i As Integer = ds.Tables("Staff").Rows.Count - 1
For Each dr As DataRow In ds.Tables("Staff").Rows
strSql = "Update CIOPassword SET CIPassword=@CI, COPassword = @CO WHERE StaffID=@id"
Dim cmd2 As New SqlCommand(strSql, conn)
Dim output1 As String = ""
Dim output2 As String = ""
Dim random As New Random()
Dim val, val2 As Integer
For j As Integer = 0 To 9
val = random.[Next](1, 36)
val2 = random.[Next](1, 36)
output1 += ChrW(IIf(val <= 26, 64 + val, (val - 27) + 48))
output2 += ChrW(IIf(val2 <= 26, 64 + val2, (val2 - 27) + 48))
Next
cmd2.Parameters.AddWithValue("@CI", output1)
cmd2.Parameters.AddWithValue("@CO", output2)
cmd2.Parameters.AddWithValue("@id", dr(0))
cmd2.ExecuteNonQuery()
Next
GridView1.DataBind()
conn.Close()
End Sub