webForumDet fria alternativet

fel antal rader i ubound

ASP

18 svar · 403 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1
 strSQL = "SELECT Id, Sublink_LinkID, Frukt " & _
	"FROM tabellen " & _
	"ORDER BY sublink_linkID, vara ASC"
	
	Set objConn = Server.CreateObject("ADODB.Connection")
		objConn.Open strConnString
		Set objRS = objConn.Execute(strSQL)
		If Not objRS.EOF Then
			'## -- get all links --
			arrLinks = objRS.GetRows()
			'Response.write arrLinks
		End If
		Set objRS = Nothing
		objConn.Close
	Set objConn = Nothing
%>

<script type="text/javascript">
var lista = new Array();
function inptSearchlist(value,listobj){
	if(lista.length == 0) buildlist(listobj);
	matches=0;
	listobj.length = lista.length;
	for(n=0;n<lista.length;n++){
		if(lista[n].text.substring(0,value.length).toLowerCase() == value.toLowerCase()) {
			listobj[matches].text= lista[n].text;
			listobj[matches].value = lista[n].value;
			matches++;
		}
	}
	listobj.length = matches;
	listobj.selectedIndex=0;
}
function buildlist(obj){
	for(n=0;n<obj.length;n++){
		lista[n] = new makeobj(obj[n].value,obj[n].text);
	}
}
function makeobj(value,text){
	this.value=value; this.text=text;
}

function boxData(sText, vValue){
	this.text = sText;
	this.value = vValue;
}

<%
If IsArray(arrLinks,2) Then
	i = 0
	[b]For N = 0 TO UBound(arrLinks,2)[/b]
		intSubLinkID = arrLinks(0,N)
		intLinkID =  arrLinks(1,N)
		strSubLink = arrLinks(2,N)
		
		
		If intLinkID <> intLastLinkID Then
			Response.Write vbcrlf & "var link" & intLinkID & " = new Array();" & vbcrlf
			i = 0
		End If
				Response.Write "link" & intLinkID & "[" & i & "] = new boxData(""" & strSubLink & """," & intSubLinkID & ");" & vbcrlf
		
		intLastLinkID = intLinkID
		i = i + 1
	Next
End If
%>

skriver jag: For N = 0 TO 14
(där 14 är antal poster) så funkar det bra, men det är ju dumt om man vill lägga in flera grejjor i databasen ju.

Medlem sedan feb. 20022 594 inlägg
#2

UBound() räknar antalet index. Det UBound() plockar ut är alltså inte detsamma som det sista indexet.

Prova UBound(pryl)-1

Skriv förresten gärna ut felmeddelande på din nuvarande kod tillsammans med första inlägget. :)

Medlem sedan dec. 200012 464 inlägg
#3

Jo det är högsta indexet som returneras.

Medlem sedan nov. 20017 144 inlägg
#4

Vad skall jag då göra?

Medlem sedan juni 200032 967 inlägg
#5

Till att börja med förklara problemet. Jag förstår inte vad det är som blir fel?

Medlem sedan nov. 20017 144 inlägg
#6

Både For N = 0 TO UBound(arrLinks,2) och For N = 0 TO UBound(arrLinks), loopar ut fem poster då det i själva verket är 14.

Medlem sedan juni 20003 076 inlägg
#7

såg ett litet fel:

If IsArray(arrLinks,2) Then

ska vara:
If IsArray(arrLinks) Then

vad får du ut om du skriver:

response.write ubound(arrLinks,2)
Medlem sedan nov. 20017 144 inlägg
#8

doggelito skrev:

såg ett litet fel:

If IsArray(arrLinks,2) Then


ska vara:
If IsArray(arrLinks) Then

vad får du ut om du skriver:

response.write ubound(arrLinks,2)

Om jag skriver ut ubound(arrlinks) får jag : 2, men den listar tre rader.(skall vara 14)

Medlem sedan nov. 20017 144 inlägg
#9

Funkar nu(med ubound(arrlinks,2) , konstigt, jag har ju inte gjort något! Tack ändå!

Medlem sedan nov. 20017 144 inlägg
#10

Förut så såg sql:en ut så här:

 strSQL = "SELECT Id, Sublink_LinkID, Frukt " & _
	"FROM frukter" & _
	"ORDER BY sublink_linkID, Frukt ASC"

Då fungerade det att skriva:
For N = 0 TO UBound(arrLinks,2)

Nu ser frågan ut så här:

 strSQL = "SELECT f.Id, f.Sublink_LinkID, f.Frukt, n.Notes " & _
	"FROM frukter f, notes n " & _
  " WHERE n.N_namn_id = 22"&_
 " AND n.N_datum = #2002-10-27#"&_
	"ORDER BY f.sublink_linkID,f.Frukt ASC"

Nu fungerar det inte att skriva så här:For N = 0 TO UBound(arrLinks,2)

Varför?

Medlem sedan nov. 20017 144 inlägg
#11

Någon som vet?

Medlem sedan mars 20002 836 inlägg
#12

Felmeddelande?

cya,
PatrikB

Medlem sedan nov. 20017 144 inlägg
#13

PatrikB skrev:

Felmeddelande?

cya,
PatrikB

Nej, det blir bara tre rader.

Medlem sedan mars 20002 836 inlägg
#14

då har du inte fler poster som matchar helt enkelt.
Om det är fel så är det nog i sql-frågan

cya,
PatrikB

Medlem sedan nov. 20017 144 inlägg
#15

Och vad är det då för ett fel då?

Medlem sedan mars 20015 287 inlägg
#16

Är du HELT säker på att det verkligen är 14 poster som uppfyller dina villkor i din sqlfråga?
Jag menar, du har ju lite "hårdare" villkor i den senare sqlfrågan jämfört med den första?

Medlem sedan nov. 20017 144 inlägg
#17

Men dessa frågor avser ju endast tabellen Notes, jag vet inte hur man skall få ut rätt grejjor ur tabellen frukter (getrows) :


  " WHERE n.N_namn_id = 22"&_
 " AND n.N_datum = #2002-10-27#"&_
Medlem sedan nov. 20017 144 inlägg
#18

Är det ingen som har några idéer ang. detta?

Medlem sedan nov. 20017 144 inlägg
#19

Come on now!

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)