0

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

<%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")
4

2 回答 2

1

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

你需要:

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

你不能让 ElseIf 独自坐着。

于 2012-08-10T19:17:25.680 回答
1

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

如果结果 ="y" 或 Session("customer_id") <> "" 那么

...或者您将 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" 条件。

于 2012-08-10T19:24:50.023 回答