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
10 svar · 287 visningar · startad av CatZ
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
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
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
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 ?
Jag förstår inte problemet ?
Rs:et ä ju sparad i en vektor, loopar gör du ju som du visar...
Jo antar att man får spara i en sub eller liknande
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
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.
Bara att börja labba m. a. o. :)
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
/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...