通过随机数生成循环数据库

时间:2015-09-04 18:17:20

标签: vb.net

添加新的DataRow时,对项目的获取从100000000到999999999的随机数。

我需要在创建此数字时循环访问数据,以确保它已经存在。 (是的,对于一个数字,这个很大的机会是它永远不会存在)在它存在的机会,我需要生成一个新的数字并再次循环数据。

我需要生成一个随机数,直到随机数与数据库中的随机数不匹配。我今天似乎无法理解逻辑。

这是我唯一能想到的,我不确定它是否会奏效。

Dim TaskID As Integer
Do
    intMergeID = Merge.RandomNumber()

    For Each GetTask As DataRow In MasterDBDataSet.DBTasks
        TaskID = GetTask.Item("MergeID")
        If TaskID = intMergeID Then
            Exit For
        End If
    Next
Loop Until intMergeID <> TaskID

1 个答案:

答案 0 :(得分:0)

这似乎是一个非常简单的逻辑。

你需要:

  1. 生成数字
  2. 检查数据库中的值
  3. 如果存在则返回1
  4. 如果它不存在则添加
  5. 递归函数可以做得很好。该函数的一些伪代码是:

    Function CheckDatabase(ByVal number As Long) as Bool
        Run database query
        if(queryResult returns true)
            generate new number
            CheckDatabase(newNumber)
        Else
            Add to database
    End Function