ASP将服务器变量与DB记录集进行比较

时间:2018-01-23 17:10:58

标签: asp-classic recordset request.servervariables

我是这种旧脚本语言的新手,但这就是我们现在所拥有的。我正试图让这段代码工作。

我想将USERID servervariable与记录集中的相同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 个答案:

答案 0 :(得分:0)

什么&#34;没有&#34;#34;工作?

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

<%

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,则会正确执行重定向。这种方式效率更高。

相关问题