/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
To metoder til db-udtræk, hvad er forskell~
Fra : Jakob Munck


Dato : 10-12-04 07:51


Der eksisterer to forskellige måder at lave kontakt til en database i
Microsoft-miljøet (ASP). De to metoder er vist her nedenfor:
------------------------------------------------------
Metode 1:

SQL = "SELECT * FROM tbNyheder WHERE (ID = " & Request.QueryString("id") &
")"

Set RS = Conn.Execute(SQL)
--------------------------------------------------------
Metode 2:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM tbNyheder WHERE (ID = " & Request.QueryString("id")
& ")"
rs.Open strSQL, myConn, 1, 3
--------------------------------------------------------------

Spørgsmålet er så, hvilken af de to metoder, der er bedst og hvad forskellen
mellem dem overhovedet er? Hvilken skal man vælge, når man koder, og
hvorfor?

v.h.
Jakob Munck



 
 
Jakob Andersen (15-12-2004)
Kommentar
Fra : Jakob Andersen


Dato : 15-12-04 20:08

"Jakob Munck" <jm2_fjern_dette@webspeed.dk> wrote
> Set RS = Conn.Execute(SQL)

Med Execute metoden på connectionobjektet returnerer man svjh altid et
recordset med en fastforward cursor(tjek evt. ved at test cursortypen når du
har eksekveret ovenstående). Der er mulighed for at specificere hvilken type
kommando det er (f.eks. Stored procedure, tabelnavn, Fil osv) og desuden en
række andre muligheder f.eks. at data skal returneres som en stream eller
returneres som et Record objekt hvis det er en stored procedure man ved kun
returnerer en række. Læs mere om de specifikke optionelle paramtre i
manualen under ExecuteOptionEnum og CommandTypeEnum.

> rs.Open strSQL, myConn, 1, 3

Med open metoden på recordsetobjektet har du mulighed for at vælge hvilken
cursortype og locktype du vil have på recordsettet hvilket kan give dig
mulighed for at opdatere og indsætte nye rækker vha. recordsettet uden at
skrive yderligere SQL-sætninger igen kan du også benytte optionelle
parametre fra ExecuteOptionEnum og CommandTypeEnum

Så sagt på en anden måde du kan alt du kan med Recordsettets Open metode som
du kan med Connection objektets execute metode, dog er din kode lidt lettere
at læse for os mennesker hvis man benytter Connectionobjektets Executemetode
da der ikke er så mange parametre at rode rundt med.

Forresten er disse to heller ikke de eneste måder at hente data på i ASP.

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste