webForumDet fria alternativet

Öka met ett

ASP

7 svar · 678 visningar · startad av Calippo

Medlem sedan aug. 2002536 inlägg
Frågan#1

Har hjärnsläpp och behöver hjälp fort.

Har 8st fält i en databas, vi kan kalla dem:

strText1
strText2
.....
strText8

Jag vill lopa ut dem så att jag bara behöver skriva

For x=1 to 8
response.write strText (Och så ska värdet i x hamna här så att det blir strText1, strText2 osv för varje Next)
Next

Medlem sedan aug. 2002536 inlägg
#2

...

Medlem sedan juni 20019 519 inlägg
#3
For x = 1 to 8
	Response.Write [b]RecordSet[/b]("strText" & x)
Next

Byt ut Recordset till det namn som du har gett till ditt Recordset.

Medlem sedan aug. 2002536 inlägg
#4

Jag skriver tidigare i koden

strText1=Rs("strText1")
strText2=Rs("strText2")

så när jag försöker använda

<%For x=1 to 8%>
<%=strText & x%>
<%Next%>

så blir det bara 1,2,3 (värdet på x) osv.
Värdet ur databasen hämtas inte.

"Response.Write RecordSet("strText" & x)" funkar, men kan man få det att fungera utan att behöva skriva Recordset...

Medlem sedan juni 20008 205 inlägg
#5

Nej. Skriv så lite som möjligt, men inte mindre...

Medlem sedan juni 20019 519 inlägg
#6
Dim a1, a2, a3
a1 = "Hej"
a2 = "på"
a3 = "dig"
For i = 1 to 3
	Response.Write eval("a" & i) & " "
Next
'Skriver ut "Hej på dig"

Men du har ju redan skapat ett Recordset:

For x = 1 to 8
Response.Write rs("StrText" & x )
Next
Medlem sedan juni 20008 205 inlägg
#7

voigtann1 skrev:

Dim a1, a2, a3
a1 = "Hej"
a2 = "på"
a3 = "dig"
For i = 1 to 3
	Response.Write eval("a" & i) & " "
Next
'Skriver ut "Hej på dig"

Det här är ett praktexempel på när man försöker "förenkla" något mer än vad faktiskt är möjligt, gör på rätt sätt istället och använd en array :) Eval är ondska och ska inte användas under annat än verkligt exceptionella omständigheter. (Jag vet att exemplet här bara var för att illustrera hur man kan göra - jag tror att vi alla är överens om att det inte är så här man ska göra...)

Medlem sedan mars 20032 667 inlägg
#8

Calippo skrev:

Har 8st fält i en databas, vi kan kalla dem:

strText1
strText2
.....
strText8

Jag vill lopa ut dem så att jag bara behöver skriva

For x=1 to 8
response.write strText (Och så ska värdet i x hamna här så att det blir strText1, strText2 osv för varje Next)
Next

Det låter fel redan i strukturen av databasen. Låt varje värde få en egen rad i tabellen i stället för en egen kolumn. :)

379 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
125 ms — deklarationer (db)
124 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)