0

我是这种旧脚本语言的新手,但它是我们现在所拥有的。我正在尝试使此代码正常工作。

我想将 USERID 服务器变量与记录集中的相同 USERID 进行比较,如果为真,它将重定向该 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

%>

我希望这有任何意义。这看起来很简单,但无法让它发挥作用。

谢谢

4

1 回答 1

0

什么“不起作用”?

查看您的代码,您似乎只检查了查询的第一条记录。我想你想做这样的事情:

<%

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

%>

此代码会计算您表中的用户 ID,如果超过 1 个,它将正确执行重定向。这种方式效率高很多。

于 2018-01-23T17:34:51.127 回答