Realizar una inserción en una base de datos mediante SQL
El problema que se nos presenta es como llevar a cabo una inserción de información sobre una base de datos utilizando ASP
Lo primero que debemos de hacer es conectarnos a la base de datos a través de un objeto Connection. A este objeto hay que pasarle la cadena de conexión indicando donde se encuentra la base de datos. Nosotros vamos a hacer la conexión sin usar DSN.
Una vez que hemos abierto la conexión con la base de datos tendremos que comprobar que el texto a insertar no existe en la base de datos. Para realizar esta comprobación utilizamos una sentencia SELECT.
En el caso de que esta búsqueda no nos devuelva ningún registro de la base de datos esto significa que la palabra a insertar no existe en nuestra base de datos. Es por ello que procederemos a realizar la inserción.
Para realizar una inserción en una base de datos utilizamos la sentencia INSERT; la cual tiene la siguiente forma:
INSERT INTO tabla[s] (campo[s]) VALUES (valor1, valor2,..., valorN) Los valores deberán de coincidir con su posición en la tabla de la base de datos.
La estructura de la base de datos en la que vamos a insertar es la siguiente:
EnvioDeValor.asp
Insertar.asp<!-- #include file = "../db/adovbs.inc" -->
<html>
<head><title> Valor a insertar </title></head>
<body>
<form action="insertar.asp" method="post">
Valor a insertar en nuestra base de datos prueba<br>
<input type="text" size="40" name="texto"><br>
<input type="submit" value="Añadir a la base de datos">
</form>
Nuestra base de datos cuenta actualmente con los siguiente valores:<br>
Realiza una recarga de la página para ver las insercciones.<br>
<font size=2 face="Arial">
<ul>
<%
' Nos conectamos
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};
Dbq=" & Server.MapPath("../db/prueba.mdb") & ";"
'Listamos los valores actuales de la base de datos
db.open DB_CONNECTIONSTRING
set rs_listar = Server.CreateObject("ADODB.Recordset")
SQLStr = "SELECT valor FROM datos"
rs_listar.open SQLStr, DB_CONNECTIONSTRING
,adOpenStatic, adLockReadOnly, adCmdText
do while not rs_listar.eof
Response.Write("<li>" + rs_listar("valor"))
rs_listar.MoveNext
loop
%>
</ul></font>
</body></html>
<html>
<head><title> Insertar en base de datos con SQL </title></head>
<body>
<!-- #include file = "../db/adovbs.inc" -->
<%
' 1ºRecibimos el texto de un formulario, mediante el método post
texto_recibido = Request.Form("texto")
' 2ºCreamos un objeto de conexión
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)}
;Dbq=" & Server.MapPath("../db/prueba.mdb") & ";"
db.open DB_CONNECTIONSTRING
'3ºComprobamos si existe el valos a insertar
set rs_existe = Server.CreateObject("ADODB.Recordset")
SQLStr = "SELECT valor FROM datos WHERE valor ='"
+ texto_recibido + "'"
rs_existe.open SQLStr, DB_CONNECTIONSTRING
, adOpenStatic, adLockReadOnly, adCmdText
'4ºSi el registro esta lleno es que existe
'si esta vacio es que no existe, e insertamos
if not (rs_existe.EOF) then
Response.Write ("El valor a insertar ya existe")
else
set rs_insert = Server.CreateObject("ADODB.Recordset")
SQLStr = "INSERT INTO datos VALUES ('" + texto_recibido + "')"
rs_insert.open SQLStr, DB_CONNECTIONSTRING
, adOpenStatic, adLockReadOnly,adCmdText
Response.Write ("Insertado el valor " + texto_recibido)
end if
%>
<br>
<a href="javascript:history.back()"> Volver Atrás </a>
</body></html> [FONT=verdana,geneva,lucida,'lucida grande',arial,helvetica,sans-serif][/font]
Insertar en una Base de Datos
[Sólo los usuarios registrados y activos pueden ver los links. ]
[Sólo los usuarios registrados y activos pueden ver los links. ]


LinkBack URL
About LinkBacks

Recibimos el texto de un formulario, mediante el método post
