|
| Databaser Fra : Voller |
Dato : 26-03-03 07:56 |
|
Hej NG.
Det er egentligt ikke så meget et konkret problem jeg har, men mere en
undren over de mange muligheder man har for at hente data ud af en database.
Disse tre ting, sikkert plus flere, gør jo det samme.
Dim objRS, strConnect, strSQL
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
Server.MapPath("db.mdb")
strSQL = "SELECT [Foo] FROM [Bar] ORDER BY ItemID"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, strConnect
Dim objComm, objRS, strSQL, strConnect
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
Server.MapPath("db.mdb")
strSQL = "SELECT [Foo] FROM [Bar] ORDER BY ItemID"
Set objComm = Server.CreateObject("ADODB.Command")
objComm.CommandText = strSQL
objComm.ActiveConnection = strConnect
Set objRS = objComm.Execute
Dim objConn, objRS, strSQL, strConnect
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
Server.MapPath("db.mdb")
strSQL = "SELECT [Foo] FROM [Bar] ORDER BY ItemID"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConnect
Set objRS = objConn.Execute(strSQL)
Alle tre eksempler henter jo data fra databasen. Hvad er forskellen på de
tre metoder? Eller... Sagt på en anden måde: I hvilke situationer bør man
benytte de forskellige objekter? Hvad er fordelene i den ene metode, frem
for de to andre?
Mvh. Voller.
| |
Voller (27-03-2003)
| Kommentar Fra : Voller |
Dato : 27-03-03 11:30 |
|
"Voller" <voller@et.sted.dk> skrev
> Alle tre eksempler henter jo data fra databasen. Hvad er forskellen på de
> tre metoder? Eller... Sagt på en anden måde: I hvilke situationer bør man
> benytte de forskellige objekter? Hvad er fordelene i den ene metode, frem
> for de to andre?
Jeg har andetsteds fået følgende svar fra en erfaren udvikler:
Løsning 1 (ADODB.Recordset) med et explicit recordsæt sætter dig i stand til
at bruge metoder som addnew, update, delete osv. osv.
Min personlige mening og erfaring er at metode 2 (ADODB.Command) er noget
man skal holde sig fra. Det er at besværliggøre ting.
Løsning 3 (ADODB.Connection) er mest performancevenlig og bør bruges hvis
man ikke har brug for at foretage operationer direkte på recordsettet.
Så sådan skulle det være
| |
Jakob Andersen (27-03-2003)
| Kommentar Fra : Jakob Andersen |
Dato : 27-03-03 12:17 |
|
Voller skrev:
> Løsning 1 (ADODB.Recordset) med et explicit recordsæt sætter dig i stand til
> at bruge metoder som addnew, update, delete osv. osv.
Det er ikke helt korrekt, det kommer 100% an på hvilken cursor og locktype
du benytter.
> Løsning 3 (ADODB.Connection) er mest performancevenlig og bør bruges hvis
> man ikke har brug for at foretage operationer direkte på recordsettet.
Det kan faktisk være hurtigere afhænig af belastningsmængde at bruge et
recordset med en clientside cursor.
--
Jakob Andersen
| |
|
|