webForumDet fria alternativet

Lägg till i DB med Insert eller RecSet?

Databaser & SQL

2 svar · 184 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1

Vilken metod är bäst att använda egentligen:

Den här:

Set RecSet=Server.CreateObject("ADODB.Recordset")
RecSetOpen "table", Connect, 3, 3
RecSet.AddNew
RecSet("table1")=Table1
RecSet("table2")=Table2
RecSet.Update
RecSet.Close

eller den här:

INSERT INTO table (table1, table2) VALUES (’Table1’, ’Table2’)
?

Medlem sedan juni 20022 599 inlägg
#2

Det beror bara på hur du definierar "bäst". Den första varianten är mer portabel/generell eftersom den abstraherar bort den underliggande databasen, vilket medför att du inte behöver veta nåt om hur den exakta INSERT-syntaxen ser ut. (Det behöver inte ens vara en databas.) Den andra är möjligtvis snabbare eftersom det inte krävs nån prepareringen av SQL-satsen.

Vilket är "bäst"? Assembler eller C#?

Medlem sedan dec. 20003 887 inlägg
#3

niko skrev:

abstraherar

:) Länge sedan jag såg ett sådant snyggt ord.

Mitt svar är att det andra alternativet är det att föredra. Oavsett hur praktiskt det nu kan vara att låta ett API sköta dataskyfflandet, så anser jag att man, oavsett alternativen, ska ha bra kontroll över hur datat skyfflas in i databasen.
Metod ett och två skiljer väl sig inte mer från varandra än vad niko beskrev.

Med metod två slipper man att en "tredjepartsfunktion" gör det hela åt en. Det kan vara att föredra ifall nu den funktionen innehåller ett säkerhetshål. Hur otroligt det än nu må vara.

Fram för metod två! :)

271 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)