ASP ADO functies of SQL voor......

Pagina: 1
Acties:

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Het invoeren van gegevens in de databas

Lo, allemaal.

Ik zat weer eens met een vraagje waar ik graag jullie mening ook over wilde horen.
Ik was weer eens een beetje met ASP bezig (mensen die mijn vragen wel eens eerder hebben gelezen... AAAH).
Ik er zelfs een boek voor (jaja), maar daar gaat het ook niet direct. Wat dan wel vragen jullie je af? Nou hier goes.

Ik me dus af wat de beste manier is om gegevens in een database in te voeren (in mijn geval ff access2000) door gebruik te maken van de ADO methoden of door alleen een SQLstring te gebruiken.

Hieronder een kleine voorbeeld code uit het boek waar ik het connectie gedeelte ff weg laat.

<!--#Include file adovb.inc" -->
SET Recordset = Server.CreateObject ("ADODB.Recordset")
slqString = "SELECT * FROM Testtabel"
RS.ActiveConnection = Con
RS.Locktype = adlockoptimistic
RS.Open sqlString
RS.Addnew
RS("Invoer") = 1
RS.Update
RS.Close

Ik kan ook zonder dat adlockoptimistic (waar ik namelijk heel slechte ervaring mee heb, met meerder users) en dat include file kan dan ook weg

Hieronder een code die hetzelfde doet als de hierboven genoemde:

INSERT INTO Testtabel (Invoer) Values (1)

Dit is dus een stukje korter en doet hetzelfde.

Het bovenste stukje wordt bij grote delen wel een stuk leesbaarder, maar wat zitten er verder voor voordelen aan?
Ik zou er zo namelijk niet echt opkomen (en werkt het bovenste bijvoorbeeld wel op een SQL db, heb namelijk echt geen idee?)

Ik ben benieuwd naar jullie antwoorden

  • gotcha
  • Registratie: Oktober 1999
  • Laatst online: 29-07 18:20
in principe gaan beide oplossingen wel werken, zowel met access als sql server databases (ado is namelijk odbc-compliant en niet echt database-specifiek)
zelf pas ik bijna altijd de tweede methode toe (zelf SQL commands in elkaar draaien voor INSERT en UPDATEs, voornamelijk omdat ik het wel zo makkelijk vindt. performance technisch is de tweede methode waarschijnlijk ook iets gunstiger, het scheelt de overhead van een recordset-object instantieren. ik denk echter niet dat je in de praktijk veel van dat verschil zult merken.

de eerste methode heeft wel als voordeel dat het inderdaad vaak overzichtelijkere code oplevert (niet perse natuurlijk...). het blijft iig een kwestie van persoonlijke voorkeur

  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Topicstarter
Op dinsdag 14 mei 2002 20:16 schreef gotcha het volgende:
in principe gaan beide oplossingen wel werken, zowel met access als sql server databases (ado is namelijk odbc-compliant en niet echt database-specifiek)
zelf pas ik bijna altijd de tweede methode toe (zelf SQL commands in elkaar draaien voor INSERT en UPDATEs, voornamelijk omdat ik het wel zo makkelijk vindt. performance technisch is de tweede methode waarschijnlijk ook iets gunstiger, het scheelt de overhead van een recordset-object instantieren. ik denk echter niet dat je in de praktijk veel van dat verschil zult merken.

de eerste methode heeft wel als voordeel dat het inderdaad vaak overzichtelijkere code oplevert (niet perse natuurlijk...). het blijft iig een kwestie van persoonlijke voorkeur
Vergeten te melden dat met die performance kwestie zijn mijn boek ook bij de de tweede methode, bij de eerste had het volgens het boek het voordeel dat je de inherente methoden van de ADO-methoden kunt gebruiken. "Bij een winkelwagen bijvoorbeeld moeten er diverse records in de database als een groep gewijzigd worden. Hoewel dit kan met diverse SQL-strings is het makkelijker de inherente methoden van ADO toe te passen" Dat staat als voordeel in het boek (nadelen laat ik ff terzijde)