24 - DELETE (Borrado de registros de una tabla - SQL Server)


Para borrar registros de una tabla debemos utilizar el comando SQL Delete. Si queremos borrar solo los registros que cumplen determinada condición lo indicamos en la cláusula where.

Para ver el algoritmo de borrado confeccionaremos una página que solicite el código del artículo que queremos borrar y en otra página procedemos primero a consultar si existe dicho código, borrándolo en caso afirmativo.

pagina1.html

<html>
<head>
<title>problema</title>
</head>
<body>
<form action="pagina1.asp" method="post">
Ingrese el código del artículo a borrar:
<input type="text" name="codigo"><br>
<input type="submit" value="Buscar"><br>
</form>
</body>
</html> 

Luego el archivo que procesa el dato cargado en el formulario es:
pagina1.asp

<%option explicit%>
<html>
<head>
<title>problema</title>
</head>
<body>
<%
dim conexion
set conexion = Server.CreateObject("ADODB.Connection")
conexion.ConnectionString = "Provider=SQLOLEDB.1;" & _
    "Data Source=.;" & _ 
    "Integrated Security=SSPI;" & _
    "Persist Security Info=False;" & _
    "Initial Catalog=wi630629_aspya"
conexion.Open
dim registros
set registros = Server.CreateObject("ADODB.RecordSet") 
registros.open "select codigo,descripcion,precio from articulos where codigo=" _
  & request.form("codigo") ,conexion
if not registros.eof then
  conexion.execute("delete from articulos where codigo=" &   request.form("codigo"))
  response.write("Los datos del artículo borrado son:<br>")
  response.write("Descripción:" & registros("descripcion"))
  response.write("<br>")
  response.write("Precio:" & registros("precio"))
  response.write("<br>")
else
  response.write("No existe un artículo con dicho código")
end if
conexion.close
%>
</body>
</html>

Primero procedemos a consultar si existe el código de artículo ingresado en el formulario:

registros.open "select codigo,descripcion,precio from articulos where codigo=" _
  & request.form("codigo") ,conexion

En caso que la propiedad eof tenga almacenado un falso procedemos a ejecutar el comando SQL Delete e informamos los datos del registro borrado:

if not registros.eof then
  conexion.execute("delete from articulos where codigo=" &   request.form("codigo"))
  response.write("Los datos del artículo borrado son:<br>")
  response.write("Descripción:" & registros("descripcion"))
  response.write("<br>")
  response.write("Precio:" & registros("precio"))
  response.write("<br>")

Sino mostramos un mensaje que no existe el código ingresado:

else
  response.write("No existe un artículo con dicho código")
end if


Retornar