2013-10-08 46 views
1

我想顯示所有與特定ID(practice_Area_ID)關聯的公司。我不知道我是否設置我的Do循環不正確,或者如果它是我的SQL代碼的問題。如何刪除/修復重複記錄在經典asp

問題是顯示的結果只顯示一家公司(當應該有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 

回答

0

這是絕對正確的:

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

但你需要每次經過循環時間閱讀rsCompInfo的當前值:

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

'Hop e幫助!

+1

這照顧了我的問題。不知道爲什麼我沒有嘗試這一開始。謝謝 – user2856953