Переменная сервера 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, он выполнит перенаправление правильно. Гораздо эффективнее таким образом.