Podemos utilizar el SQL INSERT EN comando para agregar un registro a una tabla en una base de datos.
Añadir un registro a una tabla en una base de datos
Queremos añadir un nuevo registro a la tabla Customers de la base de datos Neptuno. Primero creamos un formulario que contiene los campos que queremos recoger datos de:
<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="Add New">
<input type="reset" value="Cancel">
</form>
</body>
</html>
Cuando el usuario pulsa el botón de enviar el formulario se envía a un archivo llamado "demo_add.asp" . El "demo_add.asp" archivo contiene el código que añadirá un nuevo registro a la tabla Clientes:
<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>
Importante
Si se utiliza el comando SQL INSERT estar al tanto de lo siguiente:
- Si la tabla contiene una clave principal, asegúrese de agregar un valor único, no nulo con el campo de clave principal (si no es así, el proveedor no puede anexar el registro, o se produce un error)
- Si la tabla contiene un campo Autonumérico, no incluya este campo en el comando INSERT de SQL (el valor de este campo se tendrá cuidado de forma automática por el proveedor)
¿Qué hay de los campos sin datos?
En una base de datos de MS Access, puede introducir cadenas de longitud cero ("") en texto, hipervínculos y campos Memo si se establece la propiedad Requerido a Sí.
Note: No todas las bases de datos compatibles con cadenas de longitud cero y pueden causar un error cuando se agrega un registro con campos en blanco. Es importante comprobar qué tipos de datos compatible con su base de datos.