0

データベースの検索が行われるページがあり、値が見つかった場合は、何らかの応答がユーザーに返され、データベースの値が削除されます。

変数をチェックした後、削除サブを呼び出していますが、値がデータベースから削除されたのでサブが実行されたことはわかっていますが、これは決して起こらなかったようです。

ページが 2 回読み込まれているようで、2 回目のパスでデータベースの値がなくなったため、データベースの値が見つからなかったかのように表示されますが、削除するには見つかっている必要がありました (これは条件であるため)。 delete サブを実行するため)。

私はこれが非常識に聞こえることを理解していますが、私はこれを2日間続けており、何が起こっているのかわかりません. IIS 内からキャッシュを無効にして、レコードを削除する代わりに値がデータベースにポストされるようにコードを変更しようとしましたが、サーバーがデータベースの将来の値をチェックするように見えるのと同じ結果が得られます。それを変えるルーチン。

単一のページで同じレコードを読み書きするときに、これと同様の動作を見た人はいますか?

コード:

referer = Request.ServerVariables ("HTTP_REFERER")
session("testcode") = right(referer,16)

testcode = session("testcode")

set objcommand = server.createObject("adodb.command")
objcommand.activeconnection = strconnect2
objcommand.commandtext="SELECT codeval,stamp,used from code where     codeval like '" & testcode & "'"
objcommand.commandtype = 1
set objrs = objcommand.Execute
set objcommand = nothing 
countvar = 0

While not objrs.EOF

    if not objrs("used") = true then
        foundcode = true
        countvar = countvar+1
    end if


    objrs.MoveNext
wend


if foundcode = true then
    response.write "Found you!"

    set objcomm5 = server.createobject("adodb.command") 
    objcomm5.activeconnection = strconnect2 
    objcomm5.commandtext = "update code set used = true where codeval like '"&     testcode &"' " 
    objcomm5.commandtype = &H0001

    objcomm5.execute
else
    response.write "Can't be found!"
end if
4

0 に答える 0