预期声明
Expected Statement
您好,我正在开发一个测试网站,我希望用户能够查看数据库中的条目,用户可以选择他是否需要来自客户、地址或订单的数据。
当我打开它时,ist 在第 82 行的 wend
上显示预期的语句。
这是我的代码:
<form action="DB_HTML_Styled.asp" method="get">
<%
response.flush
%>
<table border = "1" width = "500" heigth = "500" align = "Center">
<tr>
<td align = "left" width = "100">
<select name = "f_operator" onchange"">
<option value = "1" <% if l_operator = "1" then response.write("selected") end if %>>Kunde</option>
<option value = "2" <% if l_operator = "2" then response.write("selected") end if %>>Auftrag</option>
<option value = "3" <% if l_operator = "3" then response.write("selected") end if %>>Ort</option>
</td>
</tr>
<% Set l_DBCon = Server.CreateObject("ADODB.Connection")
l_DBCon.Open "db_amill136_test"
Dim l_rs
Set l_rs = Server.CreateObject("ADODB.Recordset")
select case l_operator
case "1"
l_query = "select * from t_kunde"
case "2"
l_query = "select * from t_auftrag"
case "3"
l_query = "select * from t_ort"
case "4"
%>
<tr><td><%=l_query%></td></td>
<%
l_rs.Open l_query, l_dbcon
while not l_rs.EOF %>
<%if l_operator = "1" then %>
<tr>
<td>
<%=l_rs("f_vorname")%>
</td>
<td>
<%=l_rs("f_name")%>
</td>
<td>
<%=l_rs("f_kundennr")%>
</td>
<td>
<%=l_rs("f_ortnr")%>
</td>
<%else if l_operator = "2" then%>
<td>
<%=l_rs("f_auftragsnr")%>
</td>
<td>
<%=l_rs("f_menge")%>
</td>
<td>
<%=l_rs("f_rabatsatz")%>
</td>
<td>
<%=l_rs("f_datum")%>
</td>
<td>
<%=l_rs("f_kundennr")%>
</td>
<%else if l_operator = "3" then%>
<%=l_rs("f_ortnr")%>
</td>
<td>
<%=l_rs("f_ort")%>
</td>
<td>
<%=l_rs("f_plz")%>
</td>
</tr>
<%end if
l_rs.MoveNext
wend
l_rs.Close
Set l_rs = Nothing
l_DBCon.Close
set l_DBCon = Nothing
%>
</table>
</form>
就目前而言,在结束之前您需要三个 "end if" 语句,因为 "while".
中有三个单独的 "if" 语句
不要使用 "Else If"(带 space),而是使用 "ElseIf"(不带 space),所以你只需要 "end if"。
或者,您可能希望改用 Case 来整理那些嵌套的 if。
您好,我正在开发一个测试网站,我希望用户能够查看数据库中的条目,用户可以选择他是否需要来自客户、地址或订单的数据。
当我打开它时,ist 在第 82 行的 wend
上显示预期的语句。
这是我的代码:
<form action="DB_HTML_Styled.asp" method="get">
<%
response.flush
%>
<table border = "1" width = "500" heigth = "500" align = "Center">
<tr>
<td align = "left" width = "100">
<select name = "f_operator" onchange"">
<option value = "1" <% if l_operator = "1" then response.write("selected") end if %>>Kunde</option>
<option value = "2" <% if l_operator = "2" then response.write("selected") end if %>>Auftrag</option>
<option value = "3" <% if l_operator = "3" then response.write("selected") end if %>>Ort</option>
</td>
</tr>
<% Set l_DBCon = Server.CreateObject("ADODB.Connection")
l_DBCon.Open "db_amill136_test"
Dim l_rs
Set l_rs = Server.CreateObject("ADODB.Recordset")
select case l_operator
case "1"
l_query = "select * from t_kunde"
case "2"
l_query = "select * from t_auftrag"
case "3"
l_query = "select * from t_ort"
case "4"
%>
<tr><td><%=l_query%></td></td>
<%
l_rs.Open l_query, l_dbcon
while not l_rs.EOF %>
<%if l_operator = "1" then %>
<tr>
<td>
<%=l_rs("f_vorname")%>
</td>
<td>
<%=l_rs("f_name")%>
</td>
<td>
<%=l_rs("f_kundennr")%>
</td>
<td>
<%=l_rs("f_ortnr")%>
</td>
<%else if l_operator = "2" then%>
<td>
<%=l_rs("f_auftragsnr")%>
</td>
<td>
<%=l_rs("f_menge")%>
</td>
<td>
<%=l_rs("f_rabatsatz")%>
</td>
<td>
<%=l_rs("f_datum")%>
</td>
<td>
<%=l_rs("f_kundennr")%>
</td>
<%else if l_operator = "3" then%>
<%=l_rs("f_ortnr")%>
</td>
<td>
<%=l_rs("f_ort")%>
</td>
<td>
<%=l_rs("f_plz")%>
</td>
</tr>
<%end if
l_rs.MoveNext
wend
l_rs.Close
Set l_rs = Nothing
l_DBCon.Close
set l_DBCon = Nothing
%>
</table>
</form>
就目前而言,在结束之前您需要三个 "end if" 语句,因为 "while".
中有三个单独的 "if" 语句不要使用 "Else If"(带 space),而是使用 "ElseIf"(不带 space),所以你只需要 "end if"。
或者,您可能希望改用 Case 来整理那些嵌套的 if。