0
<html>
<title>Test</title>
<body bgcolor="FFFFFF">

<%
sort = CStr(Request("sort"))
search = CStr(Request("search"))
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User   ID=sa;Initial Catalog=asdf;Data Source=WIN-123"

Set rs = Server.CreateObject("ADODB.Recordset")
If sort = "ascending" Then
SQL = "select top 50 * from asdf order by Name"
ElseIf (search Is Not Nothing)
SQL = "select * from asdf WHERE name = '" & search & "'"
Else
SQL = "select top 50 * from asdf"
End If
rs.open SQL, conn
%>
<center><form acion="index.asp">
Search Name:<input name="search" /><input type="submit" value="Submit" />
</form></center>

我收到一个错误

Else If (search Is Not Nothing)

线,据我所知,它应该可以工作。当然,由于某种原因,我也不能在我的服务器上浏览我的网站以查看实际错误是什么。

4

1 回答 1

1

在我的 IIS 5 上测试,没有option explicit, 当你使用

search=CStr(Request("search"))

您的search已初始化为string( VarType: 8)。

所以即使search是“空”,你也不能使用IsEmpty或类似的函数/语句来查看它是否为空。采用

ElseIf search<>"" Then

直接地。

另外,请记住清理您的 SQL 查询...

于 2012-08-24T05:13:11.387 回答