ASP classic, чтение и запись в базу данных
У меня есть страница, где выполняется поиск в базе данных, и, если найдено значение, пользователю отправляется ответ, а затем значение базы данных удаляется.
Я вызываю свою подпрограмму удаления после того, как проверил переменную, но, похоже, этого никогда не происходило, хотя я знаю, что подпрограмма была запущена, поскольку значение теперь ушло из базы данных.
Кажется, что страница загружается дважды, и на втором проходе значение базы данных исчезло, и поэтому оно показывает, что значение базы данных никогда не было найдено, но его нужно было найти, чтобы удалить (как это было условием). для запуска удаления саба).
Я понимаю, что это звучит безумно, но я занимался этим 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