Переменная сервера ASP Compare с набором записей БД

Я новичок в этом старом скриптовом языке, но это все, что у нас есть сейчас. Я пытаюсь заставить этот код работать.

Я хотел бы сравнить серверную переменную USERID с тем же USERID из набора записей, а затем, если он равен true, он перенаправит имя этого USERID.

<%

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=I:\storyData.mdb" 

set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "SELECT USERIDFROM preprod", conn

strName = "John"
strNo = "This is not you"

If Request.ServerVariables("HTTP_USERID") = (rs.Fields.Item("USERID").Value) Then

Response.Redirect("story.html?" & "name=" & strName)

Else

Response.Redirect("story.html?" & "name=" & strNo)

End If

%>

Я надеюсь, что это имеет какой-то смысл. Это кажется простым, но не может заставить его работать.

Спасибо

1 ответ

Что "не" работает?

глядя на ваш код, кажется, что вы проверяете только первую запись вашего запроса. Я думаю, что вы хотите сделать что-то вроде этого:

<%

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=I:\storyData.mdb" 

set rs = Server.CreateObject("ADODB.Recordset")

rs.Open "SELECT count( USERID ) FROM preprod where userID = " & Request.ServerVariables("HTTP_USERID"), conn

strName = "John"
strNo = "This is not you"

if CInt( rs( 0 ) ) > 0 then

    Response.Redirect("story.html?" & "name=" & strName)
Else

    Response.Redirect("story.html?" & "name=" & strNo)

End If

%>

этот код подсчитывает количество идентификаторов пользователей в вашей таблице, и если их больше 1, он выполнит перенаправление правильно. Гораздо эффективнее таким образом.

Другие вопросы по тегам