DevTrain

Autor: Bernhard Elbl

Add.New gegen INSERT INTO

Zum Einfügen von Datensätzen in eine Access-Datenbank gibt es grundsätzlich zwei Möglichkeiten:
INSERT INTO und Add.New

Wo liegt der Unterschied?
INSERT INTO benötigt kein Recordset, um einen Datensatz hinzufügen, AddNew jedoch schon. Meistens werde ich aber kein Recordset benötigen, deshalb ist INSERT INTO besser, schneller, kürzer.
Gehen wir davon aus, daß sich ein User registrieren möchte.(Er füllt ein Formular aus) AddNew kann hier die bessere Methode sein. Die gerade gespeicherten Daten können unmittelbar aus der Datenbank gelesen werden. Nützlich bei einer Anmeldebestätigung, z.B.: Herrzlich Willkommen, Sie sind registriert unter <Daten>...

Hier die Code-Beispiele:
insertinto.asp
<%
'----------- Connection-Objekt instanziieren
 set conn = server.CreateObject("ADODB.Connection")
 strConn = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"
 strConn = strConn & "Data Source=" & server.MapPath("./db/") & "dbkunden.mdb;"
'----------- Connection öffnen
 conn.Open strConn
 strInsert = "INSERT INTO Kundenliste(Name, Vorname) VALUES ('Elbl', 'Bernhard')"
'----------- Datensatz hinzufügen
 conn.Execute strInsert
'----------- Objekte zerstören
set conn = nothing
%>


Der folgende Code zeigt, wie die gespeicherten Daten gleich abgerufen werden können. Bei INSERT INTO müßte man erst ein neues Recordset und den entsprechenden SQL-String schreiben, um nach dem neuen Datensatz zu suchen.
addnew.asp
<%
'----------- Connection-Objekt instanziieren
 set conn = server.CreateObject("ADODB.Connection")
 strConn = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"
 strConn = strConn & "Data Source=" & server.MapPath("./db/") & "dbkunden.mdb;"
'----------- Connection öffnen
 conn.Open strConn
'----------- Recordset instanziieren 
 set rs = server.CreateObject("ADODB.Recordset") 
'----------- Recordset öffnen (Cursortype auf Änderungen zu lassen)
 rs.Open "Kundenliste", conn, 3, 3
'----------- Datensatz hinzufügen
  rs.AddNew
  rs("Name") = "Elbl"
  rs("Vorname") = "Bernhard"
'----------- Update speichert die Informationen in der DB
  rs.Update
'----- Hier der Vorteil von AddNew
'----------- Ausgabe des gerade gespeicherten Datensatzes
 Response.Write rs("ID")
 Response.Write rs("Name")
 Response.Write rs("Vorname")
'----------- schließen des Recordsets
rs.Close
'----------- Objekte zerstören
set rs = nothing
set conn = nothing
%>


Erfasst am: 06.03.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=369
© Copyright 2003 ppedv AG - http://www.ppedv.de