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

完全なコードを見ないと、正確な問題がどこにあるのかを知るのは難しいですが、2つの可能性があります。それ自体に「ElseIf」がある場合は、ElseIfを単純なIfに変更する必要があります。

結果="y"またはSession( "customer_id")<>""の場合

...または、ElseIfを前のElseIfの後に配置します。

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

後者の場合、結果= "y"条件が前のIfステートメントですでに満たされているため、ElseIfは実行されません。

于 2012-08-10T19:24:50.023 に答える