如果null字符串值的语句错误

时间:2012-08-24 04:28:39

标签: asp-classic if-statement

<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)

行,从我可以告诉它应该工作。当然,我也不能出于某种原因在我的服务器上浏览我的网站,看看实际的错误是什么。

1 个答案:

答案 0 :(得分:1)

使用

时,在我的IIS 5上测试,没有option explicit
search=CStr(Request("search"))

您的search已初始化为stringVarType: 8)。

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

ElseIf search<>"" Then

直接

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