webForumDet fria alternativet

array

ASPur ASP

7 svar · 295 visningar · startad av crazyl

Medlem sedan jan. 200232 inlägg
Frågan#1

Behöver lite hjälp...är inte så säker på asp?!
Jag vill lägga till posterna ur en tabell till en array. Vet inte riktigt hur jag ska bära mig åt. Har denna kod:

getword = "SELECT seek FROM image_tbl WHERE word = '"& Request.Form("sokord")&"'"

Set RS=dbconn.Execute(getword)

If RS.EOF Then
%>
<script language="javascript">
window.alert("inga träffar!");
</script>
<%
Else
Do until RS.EOF
Dim Arr
Arr = RS.GetRows()
RS.MoveNext
Loop
End If

Får detta fel på raden RS.MoveNext:

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

Tacksam för svar...

Medlem sedan dec. 200012 464 inlägg
#2

Getrows hämtar alla poster, så du behöver ingen loop.

getword = "SELECT seek FROM image_tbl WHERE word = '"& Request.Form("sokord")&"'" 

Set RS=dbconn.Execute(getword) 

If RS.EOF Then 
%> 
<script language="javascript"> 
window.alert("inga träffar!"); 
</script> 
<% 
Else 
Arr = RS.GetRows() 
End If
Medlem sedan mars 20002 836 inlägg
#3

Dessa rader:

<% 
Else 
Do until RS.EOF 
Dim Arr 
Arr = RS.GetRows() 
RS.MoveNext 
Loop

Ska se ut så här:

<% 
Else 
Dim Arr 
Arr = RS.GetRows()

dvs, du behöver inte loopa igenom recordsetet. Det kan du stänga och "förstöra" eftersom du har sparat hela det i arrayen.

Arrayen loopar du så här:

<%
If IsArray(Arr) Then
	For I = 0 TO UBound(Arr,2)
		strField1 = Arr(0,I)
		strField2 = Arr(1,I)
		strFieldn = Arr(n,I)

		'## -- visa resultatet --
	Next
Else
	Response.Write "Inget hittades."
End
%>

cya,
PatrikB

Medlem sedan feb. 200218 inlägg
#4

har nu fixat koden till :

getword = "SELECT seek FROM image_tbl WHERE word = '"& Request.Form("sokord")&"'" 
Set RS=dbconn.Execute(getword) 

	If RS.EOF Then 
	%> 
	<script language="javascript"> 
	window.alert("inga träffar!"); 
	</script> 
	<% 
	Else 
		Arr = RS.GetRows()
	End If 

	If IsArray(Arr) Then
		For I = 0 TO UBound(Arr,2)s
		strField1 = Arr(0,I)
		strField2 = Arr(1,I)
		strFieldn = Arr(n,I)'## -- visa resultatet --
		Next
		Else
		Response.Write "Inget hittades."
	End If

får fel mezz(Felaktigt matrisindex: '[number: 1]') :
strField2 = Arr(1,I)
varför ä denna matris fel???

Medlem sedan dec. 200012 464 inlägg
#5

I och med att du bara hämtar en kolumn så har arrayen bara en kolumn

If IsArray(Arr) Then
	For I = 0 TO UBound(Arr,2)
		strField1 = Arr(0,I)
'
'Gör något med strfield1
'
	Next
End If
Medlem sedan juli 20003 825 inlägg
#6
strFieldn = Arr(n,I)'## -- visa resultatet --

Var kommer n i från? Det borde inte fungera...??

Medlem sedan dec. 2000399 inlägg
#7

n är bara ett valfritt positivt tal. Ofta skriver man bara 1,2,3...n

Medlem sedan mars 20002 836 inlägg
#8

jag tänkte bara vara "lite pedagogisk".
strField1 = Arr(1,I)
strFieldn = Arr(n,I)

"trodde" att "ni" skulle förstå det. :(

sorry, my mistake

cya,
PatrikB

135 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)