ASP代码无法正确读取SQL字段

时间:2012-08-10 18:54:00

标签: sql asp-classic if-statement

我从表中拉出一个字段并根据结果做不同的事情。这是我的代码

<%stringA ="Select field From table Where something=1"
set response = connFW.Execute(stringA )
set result = response ("field")
If result ="y" Then 
Response.Write("The field is: " & result )
End If%>

输出:

The field is: y

然后,我有一个If语句:

<% ElseIf result ="y"  or Session("customer_id") <> "" Then
Do Something
%>

但它永远不会执行ElseIf语句中的内容!它在页面顶部说它给出了正确的结果!我错过了什么吗?

注意:为避免混淆,此代码位于页面顶部:

Set connFW = Server.CreateObject("ADODB.Connection")
connFW.ConnectionTimeout = Application("FW_ConnectionTimeout")
connFW.CommandTimeout = Application("FW_CommandTimeout")
connFW.Open Application("FW_ConnectionString")

2 个答案:

答案 0 :(得分:1)

你的ElseIf语句似乎没有前面的If语句,除非你在某处遗漏了一些代码。

你需要:

If x Then
  Do something
ElseIf y Then
  Do something else
End If

你不能让ElseIf只是坐在它自己身上。

答案 1 :(得分:1)

如果没有看到完整的代码,很难看出确切的问题在哪里,但我看到了两种可能性。要么你自己有一个“ElseIf”,在这种情况下你应该将ElseIf改为普通的If:

  

如果result =“y”或Session(“customer_id”)&lt;&gt; “”那么

...或者您将ElseIf放在上一个之后:

If result ="y" Then 
    Response.Write("The field is: " & result )
ElseIf result ="y" or Session("customer_id") <> "" Then  
    Do Something
End If

如果是后者,那么你的ElseIf将不会执行,因为在前一个If语句中已经满足result =“y”条件。