Så här lärde man sig på webstudio att man skulle göra:
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM forum WHERE msgID=" & msg
RecSet.Open Visa, Connect, 3, 3
Men jag vet att man kan göra på något bättre sätt också
Visa = "SELECT * FROM forum WHERE msgID=" & msg
Connect.Execute(Connect)
Men hur skriver jag ut posterna egentligen. Det är bara en rad jag ska ha i tabellen...och där det står Select *...blir det en optimering om man skriver fältnamnen där?
------------------
Alltid lär man sig något nytt varje dag...
Connect.Execute(Visa)
Ska det stå...
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg det borde t.o.m. stå
Visa = "SELECT * FROM forum WHERE msgID=" & msg
set RecSet = Connect.Execute(visa)
du skriver ut posterna på exakt samma sätt som du gör när du fyller ditt recordset med recset.open.
prestandafrågan kan jag inte ge något bra svar på. den lämnar vi så länge.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Om jag hämtar data från en specifik rad och sen direkt efter det ska hämta från en annan. Måste jag stänga ner RecSet-objektet och skapa det igen med "Set Recset"?
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg du skall inte använda
Set RecSet = Server.CreateObject("ADODB.Recordset")
om du väljer att skapa recordsetet genom connectionobjektets executemetod (som jag gjorde ovan, som jag alltid gör).
det räcker alldeles utmärkt då med de två raderna kod jag slängde med (under förutsättning givetvis att ditt connectionobjekt är skapat).
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
@ndersMedlem sedan juni 200032 969 inlägg eller, öh, vad menar du med din andra fråga?
du kan givetvis återanvända ditt RecSet-objekt.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Jag var lite otydlig där...ska försöka visa i ett exempel...
strSQL = "SELECT * FROM forum WHERE msgID=" & Msg
Set RecSet = Connect.Execute(strSQL)
RecSet.Close
Set RecSet = nothing
strSQL = "SELECT * FROM forum WHERE msgID=" & Msg2
Set RecSet = Connect.Execute(strSQL)
RecSet.Close
Set RecSet = nothing
Jag antar att jag inte behöver stänga ner RecSetet för att i sin tur skapa det igen i nästa hämtning...eller? Du nämnde nåt om återanvändning...ska jag bara ta bort set på andra hämntningen kanske?
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg nej, behåll set, men du behöver inte stänga och förstöra objektet innan du kör nästa fråga.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
När jag skriver ut inläggen till ett huvudinlägg skriver jag gör jag hämtningen så här:
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM forum WHERE Thread_ID=" & Mail & " ORDER BY Thread_ReplyOrder"
RecSet.Open Visa, Connect, 3, 3
Do While Not RecSet.EOF
response.write "<TD class=text2 width=" & RecSet("Thread_Level") & 0 & " nowrap> etc etc....:)
RecSet.MoveNext
Loop
Jag antar att jag ska använda mig av en array istället för det är en del response.write eller? Ser det annars bra ut?
------------------
Alltid lär man sig något nytt varje dag...
Märker att jag inte ens kan bygga upp de svenska meningarna korrekt...puh...:)
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg array istället för vadå :q
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Att jag hämtar in alla värden in i en array så att jag kan stänga ner db-kopplingen så snabbt som möjligt...och använda mig av array-värdena när jag gör mina response-write rader...eller tänker jag helt fel?
------------------
Alltid lär man sig något nytt varje dag...
@ndersMedlem sedan juni 200032 969 inlägg tja, getrows() är ju smidigt att använda, så om du kör en getrows direkt så kan du ju stänga direkt. :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>
Ska göra det tror jag...men annars såg hämtning bra ut eller...jättetack @nders...
------------------
Alltid lär man sig något nytt varje dag...
PatrikBMedlem sedan mars 20002 836 inlägg Nä, finns ett fel, om du inte ska lägga till nya poster med detta recordset.
Om du inte behöver lägga till poster utan bara hämta ut alla poster ska du inte använda dig av:
RecSet.Open Visa, Connect, 3, 3
Utan av:
RecSet.Open Visa, Connect, 3, 1
[r]
och behöver du inte räkna posterna så räcker denna öppning:
RecSet.Open Visa, Connect, 0, 1
fast det bästa är att skapa recsetet genom conn objektet och sedan hämta ut med getrows()
Visa = "SELECT * FROM forum WHERE msgID=" & msg
Set objRS = Connect.Execute(Visa)
If Not objRS.EOF Then
arrRecords = objRS.GetRows()
End If
Set objRS = Nothing
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*
[Redigerat av PatrikB den 28 jun 2001]