webForumDet fria alternativet

Fältnamn med getrows ?

ASP

10 svar · 287 visningar · startad av CatZ

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

Hur tar jag reda på vad som är vad i getrows ?, vet att LarsG visade precis hur man skulle skriva ut getrows för att få med prcis allt. Men jag hittar inte den tråden :l

Medlem sedan apr. 2001425 inlägg
#2

När du ställer din sql-fråga så skriv vilka kolumner du hämta ifrån.
Du får samma ordning som du skriver kolumnerna i din array med början på noll.

Mvh

Medlem sedan jan. 20022 440 inlägg
#3
sql = " select fält1, fält3, fält2, fält4 from tabell"
set objrs = objconn.execute(sql)
  getsql = objrs.getrows()

for i = 0 to ubound(getsql,2)
  str1 = getsql(0,i)
  str2 = getsql(1,i)
  str3 = getsql(2,i)
  str4 = getsql(3,i)
next

Om ni kollar på koden ovan så får str1-4 följande värden

str1 = fält1
str2 = fält3
str3 = fält2
str4 = fält4

Lägg också märke till att en getsql() startar på 0 och inte 1

Medlem sedan jan. 20022 440 inlägg
#4

Problemet är nu att använda sig av värdena man hämtar. Ska man loopa? spara i vektorer? använda sig av funktioner?

Några tips ?

Medlem sedan apr. 2001425 inlägg
#5

Jag förstår inte problemet ?
Rs:et ä ju sparad i en vektor, loopar gör du ju som du visar...

Medlem sedan jan. 20022 440 inlägg
#6

Jo antar att man får spara i en sub eller liknande

Medlem sedan apr. 2001425 inlägg
#7

Jag brukar använda Paces eminenta funktion

Function GetRows(ByVal SQL)
		Dim arrRecords, rs	
		Set Connection = Server.CreateObject("ADODB.Connection")
		Connection.Open (ConnString)		
		Set rs = Connection.Execute(SQL)
		If Not rs.BOF Or Not rs.EOF Then
			arrRecords = rs.GetRows()
		ELSE
			arrRecords = ""
		End If		
		rs.Close
		Set rs = nothing
		Connection.Close
		Set Connection = nothing
		GetRows = arrRecords 
End Function

Sen är det bara att anropa den med:

arrRs=GetRows("Select dittan ,dattan From Tblrattan.....")

Då har du ditt Recordset i arrRs, du slipper då att bry dig om att öppna å stänga databasen osv...

Smidigt, tycker jag :)

Mvh

Medlem sedan jan. 20022 440 inlägg
#8

Ja jättesmidigt! men jag är lite låst i själva användandet av arrayer, har inte riktigt /RED kommit in i själva tänkandet.

Medlem sedan apr. 2001425 inlägg
#9

Bara att börja labba m. a. o. :)

Medlem sedan apr. 2001425 inlägg
#10

Om du vill använda funktionen ovan så
tänk på att kolla om du fick något tillbaka i din sql-fråga
innan du använder arrayen... annars får du ett felmeddelande
om att arrRs inte är en array t.ex.

arrRs=GetRows("Select dittan ,dattan From Tblrattan.....")

IF IsArray(arrRs) THEN

'Looop eller ngt annat...

ELSE

'Finns inga poster

END IF
Medlem sedan jan. 20022 440 inlägg
#11

/RED inte använda i samtidigt till 2 olika saker.

For i = 1 to AntalOmg() 
	response.write "<td>"
	For j = 0 to UBound(arrResultat,2)
		strVP = arrResultat(0,i)
		Response.Write strVP
	Next
	Response.Write "</td>"
Next

Den skulle kunna fungera om man slängde in en if sats som kolla så man gör en exit for om man hamnar snett...

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)