webForumDet fria alternativet

Skapa postuppsättning Explict eller Implict?

ASPur ASP

4 svar · 413 visningar · startad av iceM2

Medlem sedan mars 2001243 inlägg
Frågan#1

Är mycket fundersam över en sak. Vilket är det bästa sättet att skapa en uppsättning på? Explict eller Implict?

I boken Lär dig ASP på 3 veckor förespråkar dem den Explicta postupsättningen dvs:

Set objConn = ServerCreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open Källa, objConn, Markörtyp, Låstyp, Alternativ

Men i Vides ASP-kurs verkar det som om han mer eller mindre förespråkar Execute metoden?

Vilken metod är bäst prestandamässigt och vad rekomenderar ni mig att använda? Kan båda men vet inte vilken jag ska köra med!

------------------
http://www.hutters.net

Medlem sedan dec. 200012 464 inlägg
#2

Execute

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 2001243 inlägg
#3

Tack LarsG, fan du bör ju bli månadens medlem utan tvekan! Du svarar ju alltid på mina frågor blixtsnabbt och bra ;-)

Vad är det som är bättre med explict då? Man kan ju inte välja låstyper med det? Det säger i alla fall boken...

------------------
http://www.hutters.net

Medlem sedan dec. 200012 464 inlägg
#4

Det enda som är vettigt med explicit är att man kan skapa ett recordset som är frikopplat från databasen

set rs = server.createobject("adodb.recordset")
rs.cursorlocation = 3
rs.open sql,connect
connect.close

så får du allt data i recordsetet.

Det här kan man också åstadkomma med hjälp av metoden getrows och en implicit skapning

set rs = connect.execute(sql)
if not rs.eof then
   arr = rs.getrows()
end if
connect.close

Att använda recordset för att göra update eller insert kostar mer än att göra execute på ett sql-statement.

Ett test som Jaan gjorde visade att om man gjorde insert på en tabell med tre kolumner via ett recordset så innebar det 50 anrop till ODBC medan om man gjorde execute så blev det 3 stycken ODBC-anrop. Visserligen så går inte alla anrop vidare till databas-servern men ändock.

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 2001243 inlägg
#5

Tack LarsG för ditt mycket utförliga svar, nu är jag övertygad om att göra med explict postuppsättning!

------------------
"Ni tre går och bildar en kvadrat" (Rolf Zetterlund under ett träningspass)

131 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)