webForumDet fria alternativet

kan bara hämta värde från recordset en gång

ASP

8 svar · 454 visningar · startad av Jymdis

Medlem sedan mars 20016 260 inlägg
Frågan#1

Hej!
Jag har ett _jäkligt_ mysko problem.

Jag har ett recordset där jag hämtar information ur (konstigt va!).
Säg jag har ett fält som heter loptext.

Om jag försöker skriva ut det mer än en gång så bara försvinner värdet. Försöker jag sen ge en variabel värdet så försvinner det också.

Hela sidans kod är såhär:

>Här är en include fil (som den hämtar MM_gora_string ifrån) samt vbscript defination som jag inte kan skriva pga webforum tolkar dom fel.<
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_gora_STRING
Recordset1.Source = "SELECT *  FROM main  ORDER BY overrubrikID asc,yearID desc"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
Dim Recordset2__MMColParam
Recordset2__MMColParam = "4"
If (Request("MM_EmptyValue") <> "") Then 
  Recordset2__MMColParam = Request("MM_EmptyValue")
End If
%>
<%
Dim Recordset2
Dim Recordset2_numRows

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_gora_STRING
Recordset2.Source = "SELECT *  FROM main  WHERE typID = " + Replace(Recordset2__MMColParam, "'", "''") + ""
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()

Recordset2_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Recordset1_numRows = Recordset1_numRows + Repeat1__numRows
%>

<HTML>
<HEAD>
<TITLE>1</TITLE>
<link href="links.css" rel="stylesheet" type="text/css">
</HEAD>

<BODY text=#003f3f vLink=#003f3f link=#003f3f bgColor=#ffffff><BASEFONT size=2>
<P>
<CENTER>
</CENTER>

<CENTER>
  <TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
    <TBODY>
      <TR> 
        <TD width="250" align="center" valign="top">&nbsp;</TD>
        <TD width="450"><p><img src="bilder/gora.gif" width="115" height="70"></p>
          <p>&nbsp;</p></TD>
      </TR>
      <% 
While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) 
%>
      <% 
		select case recordset1("typid") 
		
		case "1"
		skriv = "<br><font size='3' face='Verdana, Arial, Helvetica, sans-serif'><strong>" & recordset1("rubrik") &"</strong></font>" 
		case "2"
		skriv = "<font size='2' face='Verdana, Arial, Helvetica, sans-serif'><strong>" & recordset1("rubrik") &"</strong></font>" 
		case "3" 
		skriv = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'><strong>" & recordset1("rubrik") & "</strong> - " &"</font>" 
		if not recordset1("underrubrikbild") = "" then bild = "<img src='upload/" & recordset1("underrubrikbild") & "' width='100' height='80'  border='1'><br> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>" & recordset1("underrubrikbildtext") & "</font>" else bild = "" end if 
		recordset2.movefirst
		
		do while not recordset2.eof
		if recordset2("overrubrikID") = recordset1("overrubrikID") AND recordset2("year") = recordset1("year") AND recordset2("underrubrikID") = recordset1("underrubrikID") then 
		skriv = "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href='lank.asp?id=" & recordset2("id") & "&underrubrikID=" & recordset2("underrubrikID") & "&overrubrikID=" & recordset2("overrubrikID") & "&year=" & recordset2("year") & "&lankID=" & recordset2("lankID") &"'>" & recordset1("underrubriktext") & "</a></font>" 
     	if not recordset1("underrubrikbild") = "" then bild = "<img src='upload/" & recordset1("underrubrikbild") & "' width='100' height='80'  border='1'><br> <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>" & recordset1("underrubrikbildtext") & "</font>" else bild = "" end if 
		
		end if
		recordset2.movenext
		loop
		
		case else
		skriv = ""
		end select
	
		%>
      <% if not skriv = "" then %>
      <TR> 
        <TD width="250" height="10" align="center" valign="top"> <% if not bild = "" then response.write bild end if  %>
        </TD>
        <TD width="450" height="10" valign="top"><% response.write skriv %></TD>
      </tr>
      <% end if %>
      <% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  Recordset1.MoveNext()
Wend
%>
      
      
      
      
      
      
      <TR>
        <TD width="250" align="center" valign="top">&nbsp;</TD>
        <TD width="450"></TD>
      </TR>
      <TR> 
        <TD width="250" align="center" valign="top">&nbsp;</TD>
        <TD width="450"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">&copy; 
                    
      </font></TD>
      </TR>
    </TBODY>
  </TABLE>
  <p>&nbsp;</p>
  <p>&nbsp; </p>
  </CENTER></BODY></HTML>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
<%
Recordset2.Close()
Set Recordset2 = Nothing
%>
Medlem sedan juni 200032 967 inlägg
#2

Jag har inte kollat på din kod, men det är inte så konstigt. Eller rättare sagt, lite konstigt är det, men inte speciellt ovanligt.

Du har fält av typen PM / Memo i ditt recordset, eller hur?
Gör då så här:
* Specificera i din SQL-fråga alla fält du vill ha, med PM/Memo-fälten sist i fältlistan. Select Fält1, Fält2, PMFält1, PMFält2 From Tabellen
* Lägg in fältvärdena i variabler i den ordning fälten specificerades i SQL-frågan.
* Använd sedan de variablerna istället för att referera till recordsetet.

Mvh,

Medlem sedan mars 20016 260 inlägg
#3

jepps =)
du har rätt.. jag inte provat lösningen men jag vill dra mig till minnes att jag har haft det här problemet innan.. :)
det brukar oftast räcka med att lägga pmfälten sist i tabellen, då jag använder dreamweaver mx och dess inbyggda recordset-byggare så sorterar den då sql frågan efter hur databasen ser ut.

tack så mycket för hjälpen =)

Medlem sedan maj 200010 687 inlägg
#4

Jymdis, du har inte händelsevis gjort Zoegas hemsida?
Koden där ser nästan precis ut som du skrivit här uppe. Eller kommer den koden från något annat ställe? Eller är det nån skola som lär ut att man ska koda så?

Medlem sedan jan. 20022 440 inlägg
#5

Jymdis skrev:

MM_gora_STRING

MM = MacroMedia, skulle tro han försöker sig på att göra saker med dreamweaver MX villket är något jag verkligen inte rekommenderar. JAg sitter själv med Macromedia MX för att färgbilden är suvvvvvve där. Men som sagt försök skriva allt själv :)

Medlem sedan maj 200010 687 inlägg
#6

Ah fan...

Medlem sedan mars 20015 287 inlägg
#7

Jymdis skrev:

då jag använder dreamweaver mx och dess inbyggda recordset-byggare...

Som sagt...

Medlem sedan mars 20016 260 inlägg
#8
"SELECT ID, typID, overrubrikID, YearID, Year, underrubrikbild, underrubrikbildtext, underrubrikID, Lankbild, LankID, Lankbildtext, Lanktext, underrubriktext, rubrik FROM main"

Jag har den här, och alla PM fält ligger sist i tabellen. Men det fungerar ändå inte?
Inte ens när jag lägger in det i en variabel.

Medlem sedan jan. 20022 440 inlägg
#9

red. Year ÄR ett reserverat ord i Access byt ut det mot nagonting annat!