0

我在生成唯一 ID 时遇到了一些问题,并且还要检查以确保生成的 ID 不在数据库中。我写了两个简单的函数,但每次运行时,都会出现内存不足的错误。

有没有更好的方法来做到这一点?

这是我的代码:

uniqueID = getID()

function getID()
Dim id : id = getUniqueID 'simple random number generator
    if checkForID(id) = 0 then
        return id
    else
        id = getID()
    end if
end function

function checkForID(id)
    SQL="SELECT * FROM userOrderDxTest WHERE orderID =" & id
    set rs=Server.CreateObject("ADODB.recordset")
    rs.Open SQL,DB,adOpenStatic
    if not rs.EOF then
        checkForID = 1   'ID already exists
        rs.close
        set rs = nothing
    else
        checkForID = 1    'ID doesn't exist
    rs.CLOSE
    end if
end function
4

1 回答 1

1

你总是将 checkForID 设置为 1。它应该是:

if not rs.EOF then
    checkForID = 1   'ID already exists
    rs.close
    set rs = nothing
else
    checkForID = 0    'ID doesn't exist
于 2012-10-09T17:28:43.927 回答