Wrox Home  
Search P2P Archive for: Go

  Return to Index  

asp_databases thread: looping just one record


Message #1 by "Frode Strømme" <fstroemm@o...> on Sat, 26 May 2001 14:55:33
If I want to show an actor twice, how would I loop through that record to 

check for more.



"Skuespiller" is what I want displayed more than once, IF there's any more 

matches. I guess I can't use EOF to check for this like I have tried.



gave me:



Error Type:

ADODB.Field (0x80020009)

Either BOF or EOF is True, or the current record has been deleted. 

Requested operation requires a current record.

/bok/khitdisplay.asp





Thanks. 



- Frode.



My code:

<%@Language=VBScript%>

<%Response.Buffer=True%>

<%



Dim strSQL, RS, MyConn         



   Set MyConn=Server.CreateObject("ADODB.Connection")

  

MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; 

DBQ=C:\datastores\khitdvd.mdb"



   strSQL = "SELECT [khitfilm].[FilmID], [khitfilm].[Tittel], [khitbilde].

[Bilde], [khitfakta].[Region], [khitfakta].[ProdAar], [khitfakta].[Regi], 

[khitfakta].[Studio], [Khitkategori].[Kategori], [khitomtale].[Omtale], 

[khitpris].[Pris], [khitskue].[Skuespiller], [khitteknisk].[LydFormat], 

[khitteknisk].[VideoFormat], [khitteknisk].[Undertekst], [khitteknisk].

[Lengde], [khitteknisk].[Features] " & _

            "FROM ((((((khitfilm INNER JOIN khitfakta ON [khitfilm].

[FilmID] =[khitfakta].[FilmID]) INNER JOIN Khitkategori ON [khitfilm].

[FilmID] =[Khitkategori].[FilmID]) INNER JOIN khitomtale ON [khitfilm].

[FilmID] =[khitomtale].[FilmID]) INNER JOIN khitpris ON [khitfilm].

[FilmID] =[khitpris].[FilmID]) INNER JOIN khitteknisk ON [khitfilm].

[FilmID] =[khitteknisk].[FilmID]) INNER JOIN (khitskue INNER JOIN khitfs 

ON [khitskue].[SkueID] =[khitfs].[SkueID]) ON [khitfilm].[FilmID] 

[khitfs].[FilmID]) INNER JOIN khitbilde ON [khitfilm].[FilmID] 

[khitbilde].[FilmID] " & _

            "WHERE khitfilm.FilmID = " & _

            Request.QueryString("dispID")

   

   

   Set RS = MyConn.Execute(strSQL)



        Response.Write "<table align=""center"" valign=""top"" 

border=""1"">"

		Response.Write "<tr><td>Film Tittel:"

		Response.Write RS("Tittel")

		Response.Write "</td></tr>"

		Response.Write "<tr><td>"

	

		While Not RS.EOF

		

		Response.Write RS("Skuespiller")

		RS.MoveNext

		

		If Not RS.EOF Then

		

		Response.Write RS("Skuespiller")

		RS.MoveNext

		End if

		Wend

		

		Response.Write "<tr><td>test:"

		Response.Write RS("Pris")

		Response.Write "</td></tr>"

		

   		

	

		Response.Write "</td></tr></table>"

    

	

%>
Message #2 by "Frode Strømme" <fstroemm@o...> on Mon, 28 May 2001 19:24:07
I solved this problem by running a second SQL query

and do

             While Not skuRS.EOF

		Response.Write skuRS("Skuespiller")

		skuRS.MoveNext

		  If Not skuRS.EOF Then

		    Response.Write ", "

		  End If

	     WEND



while I use RS.EOF for the others.



Tell me if this is method shouldn't be used.



- Frode.



> If I want to show an actor twice, how would I loop through that record 

to 

> check for more.

> 

> "Skuespiller" is what I want displayed more than once, IF there's any 

more 

> matches. I guess I can't use EOF to check for this like I have tried.

> 

> gave me:

> 

> Error Type:

> ADODB.Field (0x80020009)

> Either BOF or EOF is True, or the current record has been deleted. 

> Requested operation requires a current record.

> /bok/khitdisplay.asp

> 

> 

> Thanks. 

> 

> - Frode.

> 

> My code:

> <%@Language=VBScript%>

> <%Response.Buffer=True%>

> <%

> 

> Dim strSQL, RS, MyConn         

> 

>    Set MyConn=Server.CreateObject("ADODB.Connection")

>   

> MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; 

> DBQ=C:\datastores\khitdvd.mdb"

> 

>    strSQL = "SELECT [khitfilm].[FilmID], [khitfilm].[Tittel], 

[khitbilde].

> [Bilde], [khitfakta].[Region], [khitfakta].[ProdAar], [khitfakta].

[Regi], 

> [khitfakta].[Studio], [Khitkategori].[Kategori], [khitomtale].[Omtale], 

> [khitpris].[Pris], [khitskue].[Skuespiller], [khitteknisk].[LydFormat], 

> [khitteknisk].[VideoFormat], [khitteknisk].[Undertekst], [khitteknisk].

> [Lengde], [khitteknisk].[Features] " & _

>             "FROM ((((((khitfilm INNER JOIN khitfakta ON [khitfilm].

> [FilmID] =[khitfakta].[FilmID]) INNER JOIN Khitkategori ON [khitfilm].

> [FilmID] =[Khitkategori].[FilmID]) INNER JOIN khitomtale ON [khitfilm].

> [FilmID] =[khitomtale].[FilmID]) INNER JOIN khitpris ON [khitfilm].

> [FilmID] =[khitpris].[FilmID]) INNER JOIN khitteknisk ON [khitfilm].

> [FilmID] =[khitteknisk].[FilmID]) INNER JOIN (khitskue INNER JOIN khitfs 

> ON [khitskue].[SkueID] =[khitfs].[SkueID]) ON [khitfilm].[FilmID] 

> [khitfs].[FilmID]) INNER JOIN khitbilde ON [khitfilm].[FilmID] 

> [khitbilde].[FilmID] " & _

>             "WHERE khitfilm.FilmID = " & _

>             Request.QueryString("dispID")

>    

>    

>    Set RS = MyConn.Execute(strSQL)

> 

>         Response.Write "<table align=""center"" valign=""top"" 

> border=""1"">"

> 		Response.Write "<tr><td>Film Tittel:"

> 		Response.Write RS("Tittel")

> 		Response.Write "</td></tr>"

> 		Response.Write "<tr><td>"

> 	

> 		While Not RS.EOF

> 		

> 		Response.Write RS("Skuespiller")

> 		RS.MoveNext

> 		

> 		If Not RS.EOF Then

> 		

> 		Response.Write RS("Skuespiller")

> 		RS.MoveNext

> 		End if

> 		Wend

> 		

> 		Response.Write "<tr><td>test:"

> 		Response.Write RS("Pris")

> 		Response.Write "</td></tr>"

> 		

>    		

> 	

> 		Response.Write "</td></tr></table>"

>     

> 	


  Return to Index