0

一意の ID の生成に問題があり、生成された ID がまだデータベースにないことを確認しています。2 つの単純な関数を作成しましたが、実行するたびにメモリ不足エラーが発生します。

これを行うより良い方法はありますか?

これが私のコードです:

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 に答える