ADO Agregar registro
Podemos usar el comando INSERT INTO de SQL para agregar registros a una tabla en la base de datos.
Agregar registros a una tabla en la base de datos
Queremos agregar un nuevo registro a la tabla Customers en la base de datos Northwind. Primero, necesitamos crear un formulario que contenga los campos de entrada de los cuales necesitamos recopilar datos:
<body>
<form method="post" action="demo_add.asp">
<table>
<tr>
<td>CustomerID:</td>
</tr><tr>
<td>Company Name:</td>
</tr><tr>
<td>Contact Name:</td>
</tr><tr>
<td>Address:</td>
</tr><tr>
<td>City:</td>
</tr><tr>
<td>Postal Code:</td>
</tr><tr>
<td>Country:</td>
</tr>
</table>
<br><br>
<input type="submit" value="Add New">
<input type="reset" value="Cancel">
</form>
</body>
</html>
Cuando el usuario presiona el botón de confirmar, este formulario se envía al archivo llamado "demo_add.asp". El archivo "demo_add.asp" contiene el código que puede agregar un nuevo registro a la tabla Customers:
<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>
Puntos importantes
Cuando use el comando INSERT INTO, tenga en cuenta lo siguiente:
- Si la tabla contiene una clave principal, asegúrese de que el valor agregado al campo de la clave principal sea único y no esté vacío (de lo contrario, el proveedor no agregará este registro o se producirá un error).
- Si la tabla contiene un campo de numeración automática, no incluya este campo en el comando INSERT (el valor de este campo es responsabilidad del proveedor).
Acerca de los campos sin datos
En las bases de datos de MS Access, si establece la propiedad AllowZeroLength en "Yes", puede ingresar cadenas de longitud cero ("") en los campos de texto, hipervínculo y memorando.
Nota:No todas las bases de datos admiten cadenas de longitud cero, por lo que pueden producirse errores al agregar registros con campos en blanco. Por lo tanto, es importante verificar los tipos de datos admitidos por la base de datos que está utilizando.
Otras extensiones