| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | 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
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |