Latest web development tutorials

In ADO-Datensatz

Wir können die SQL INSERT INTO-Befehl verwenden, um Datensätze in einer Datenbank-Tabelle hinzuzufügen.


Um einen Datensatz in einer Datenbank-Tabelle hinzufügen

Wir wollen einen neuen Datensatz in der Customers-Tabelle in der Northwind-Datenbank hinzuzufügen. Wir wollen zunächst ein Formular erstellen, enthält das Formular die Daten, die wir Eingabefelder erfasst werden sollen:

<html>
<body>

<form method="post" action="demo_add.html">
<table>
<tr>
<td>CustomerID:</td>
<td><input name="custid"></td>
</tr><tr>
<td>Company Name:</td>
<td><input name="compname"></td>
</tr><tr>
<td>Contact Name:</td>
<td><input name="contname"></td>
</tr><tr>
<td>Address:</td>
<td><input name="address"></td>
</tr><tr>
<td>City:</td>
<td><input name="city"></td>
</tr><tr>
<td>Postal Code:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>Country:</td>
<td><input name="country"></td>
</tr>
</table>
<br><br>
<input type="submit" value="Add New">
<input type="reset" value="Cancel">
</form>

</body>
</html>

Wenn der Benutzer die OK-Taste drückt, wird das Formular an einem "demo_add.asp" der aufgerufenen Datei gesendet werden. Datei "demo_add.asp" kann den Code enthalten, um einen neuen Datensatz der Tabelle Kunden hinzuzufügen:

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"

sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"

on error resume next
conn.Execute sql,recaffected
if err<>0 then
Response.Write("No update permissions!")
else
Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>

</body>
</html>


WICHTIG

Wenn Sie den Befehl INSERT-Befehl verwenden, beachten Sie bitte folgendes:

  • Wenn die Tabelle einen Primärschlüssel enthält, stellen Sie sicher, dass Wert auf die Primärschlüsselfeld hinzuzufügen, ist einzigartig und nicht leer ist (sonst Anbieter werden die Datensätze nicht anhängen, oder dass ein Fehler auftritt)
  • Wenn die Tabelle ein Autowert-Feld enthält, dieses Feld nicht in der INSERT-Befehl umfassen (der Wert des Feldes wird durch den Anbieter verantwortlich bestimmt)

Keine Daten auf dem Feld

In MS Access-Datenbank, wird, wenn Sie die AllowZeroLength Eigenschaft auf "Ja", können Sie Text, Hyperlinks und Notizen Feld eine leere Zeichenfolge ( "") eingeben.

Hinweis: Nicht alle Datenbanken unterstützen leere Zeichenfolge, die einen Fehler verursachen kann , wenn Sie Datensätze mit leeren Feldern hinzufügen. So prüfen Sie, ob Sie eine Datenbank unterstützten Datentypen verwenden, ist sehr wichtig.