1

我正在尝试显示与特定 ID (practice_Area_ID) 关联的所有公司。我不知道我的 Do Loop 设置是否不正确,还是我的 SQL 代码有问题。

问题是显示的结果只显示了一家公司(应该有 5 个不同的公司),并且根据找到的实践领域的数量(在本例中为 5 个)重复多次。

换句话说,问题在于,我只看到一家公司,而不是显示 5 家不同的公司,但它被列出了 5 次。

忽略我糟糕的表格格式......只是试图让结果显示在这里。

<%
intPractice_Area_ID = Request.QueryString("intPractice_Area_ID")
%>

(此处为随机 html)

<%

Set rsCompInfo = Server.CreateObject ("ADODB.Recordset")
compSQL = "SELECT Company_Main.Company_Name, Company_Main.Company_address, Practice_Areas.Practice_Area_ID FROM Practice_Areas INNER JOIN (Company_Main INNER JOIN Company_Practice_CK ON Company_Main.Company_ID = Company_Practice_CK.Company_ID) ON Practice_Areas.Practice_Area_ID = Company_Practice_CK.Practice_Area_ID WHERE Company_Practice_CK.Practice_Area_ID =" & intPractice_Area_ID  
rsrsCompInfo.Open compSQL, Conn
strName = rsProdInfo("Company_Name")
strAddress = rsProdInfo("Company_Address")

%>

<table width="200" border="1">
    <tr>
        <th>Firm Name</th>
        <th>Address</th>

    </tr>

<%


if rsCompInfo.EOF then
Response.Write "No Records Found!"
else
strName = rsCompInfo("Company_Name")
strAddress = rsCompInfo("Company_Address")

Do While Not rsCompInfo.EOF
%>


<table border="1" cellspacing="0" cellpadding="2" width="602">
     <tr>

         <td width="560" valign="top"><font face="Verdana" size="3"><b><%= strName %></b></font><p>
        <td width="560" valign="top"><font face="Verdana" size="3"><b><%= strAddress %></b></font><p>         
            <input type="hidden" name="intPractice_Area_ID" value="<%= intPractice_Area_ID %>">
     </tr>

         <td width="34"><td width="560"><font face="Verdana" size="2">
 </table>
<%
rsCompInfo.MoveNext
Loop

end if

rsCompInfo.Close
set rsCompInfo = Nothing

Conn.Close
set Conn = Nothing
4

1 回答 1

0

这是绝对正确的:

Do While Not rsCompInfo.EOF
  ...
  rsCompInfo.MoveNext
Loop

但是每次循环时都需要读取 rsCompInfo 的当前值:

  <%= rsCompInfo("Company_Name") %>
  <%= rsCompInfo("Company_Address") %>

'希望有帮助!

于 2013-10-08T04:40:40.907 回答