DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  ASP konferenz vom 24.-25. Februar 2010 im ehem. IMAX München

 
Navigationslinks überspringen
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
%>


Diskutieren Sie in den Foren

VSone vom 24.-25. Februar 2010 im ehem. IMAX München