Προσθήκη Εγγραφής ADO

Μπορούμε να χρησιμοποιήσουμε την εντολή INSERT INTO της SQL για να προσθέσουμε εγγραφές σε τμήμα της βάσης δεδομένων.

Προσθήκη εγγραφής σε τμήμα της βάσης δεδομένων

Ελπίζουμε να προσθέσουμε ένα νέο ρεκόρ στην τаблицή Customers της βάσης δεδομένων Northwind. Πρώτα πρέπει να δημιουργήσουμε ένα φόρμα που περιέχει τα πεδία εισαγωγής που χρειάζεται να συλλέξουμε από αυτό το φόρμα:

<html>
<body>
<form method="post" action="demo_add.asp">
<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="Προσθήκη Νέου"> 
<input type="reset" value="Ακύρωση">
</form>
</body>
</html>

Όταν ο χρήστης πατάει το κουμπί "Confirm", αυτή η φόρμα θα σταλεί στον φάκελο "demo_add.asp". Ο φάκελος "demo_add.asp" περιέχει κώδικα που μπορεί να προσθέσει νέο ρεκόρ στη βάση δεδομένων Customers:

<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") & "')"
στο λάθος συνεχίζει με το επόμενο
conn.Execute sql,recaffected
εάν err<>0 τότε
  Response.Write("Δεν υπάρχει άδεια ενημέρωσης!")
αντέχω 
  Response.Write("<h3>" & recaffected & " ρηγήθηκε</h3>")
end if
conn.close
%>
</body>
</html>

Σημαντική Πληροφορία

Κατά τη χρήση της εντολής INSERT command, σημειώστε τα εξής:

  • Αν η τаблицή περιέχει κλειδί κύριας, βεβαιωθείτε ότι η τιμή που προσθέτετε στο πεδίο κλειδιού κύριας είναι μοναδική και μη κενή (άλλως, ο provider δεν θα προσθέσει αυτή την εγγραφή ή μπορεί να προκύψει σφάλμα).
  • Αν η τаблицή περιέχει πεδίο αυτόματης αριθμητικής ταυτότητας, μην συμπεριλαμβάνετε αυτό το πεδίο στην εντολή INSERT (η τιμή αυτού του πεδίου είναι ευθύνη του provider).

Σχετικά με το κενό πεδίο δεδομένων

Στην βάση δεδομένων MS Access, αν ρυθμίσετε την ιδιότητα AllowZeroLength σε "Yes", μπορείτε να εισάγετε αλφαβητικές αλυσίδες μηδενικού μήκους ("") στις κενές, υπερσυνδέσεις και το πεδίο σημειώσεων.

Σημείωση:Δεν όλες οι βάσεις δεδομένων υποστηρίζουν αλφαβητικές αλυσίδες μηδενικού μήκους, οπότε μπορεί να προκύψουν σφάλματα όταν προστίθενται εγγραφές με κενά πεδία. Επομένως, είναι σημαντικό να ελέγξετε τους τύπους δεδομένων που υποστηρίζει η βάση δεδομένων που χρησιμοποιείτε.