Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/04/2005, 11:20
Avatar de ludovico2000
ludovico2000
 
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años, 6 meses
Puntos: 2
Aquí tienes:

1º se insertan los datos que vienen del formulario, controlando que no se produzcan errores.
2º se consultan los datos que acaban de ser insertados y se presentan


Código:
<HTML>
<head>

<%

if request.form("codigo")="" then

response.redirect "about:blank"

else
'Recogemos los valores del formulario quitando las comillas
'para evitar la introducción de sentencias SQL
codigo=replace(Request.Form("codigo"),"'","")



'Instanciamos y abrimos nuestro objeto conexion PARA INSERTAR LOS DATOS
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../datos/mibasededatos.mdb"))

on error resume next
' acá va la linea que podría dar error
' AQUI EMPIEZA LA SENTENCIA QUE INTRODUCE LOS DATOS

'Ahora creamos la sentencia SQL con la que insertaremos los valores
sSQL="Insert Into registro (codigo) values ('" & codigo & "')"

'Ejecutamos la orden
set RS = conn.Execute(sSQL)

' AQUI TERMINA LA SENTENCIA QUE INTRODUCE LOS DATOS

if err <> 0 then
' Se produjo un error, así que lo controlamos
Response.Write "<html><head></head><body><p align='center'><font face='Arial' color='#FF0000'><b>ERROR:</b></font></p><p align='center'>&nbsp;</p><p align='center'><font face='Arial'><b>EL CÓDIGO INSERTADO YA EXISTE EN LA BASE DE DATOS.</b></font></p><p align='center'><input type='button' onclick='history.back()' value='Volver'></p></body></html>"
response.end
end if

'cierro esta conexión para poder abrir otra y consultar lo registros recién insertados
conn.close

'Instanciamos y abrimos nuestro objeto conexion PARA PRESENTAR LOS DATOS INSERTADOS DESDE LA B.D.
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../datos/mibasededatos.mdb"))
'Ahora creamos la sentencia SQL con la que vemos el registro del código del formulario que acabamos de introducir
sSql="SELECT * FROM registro WHERE codigo='" & trim(codigo) & "'"
'Ejecutamos la orden
set RS = conn.Execute(sSQL)
'Cierro el código ASP para escribir en html
%>

<title>CÓDIGO:---------<%=rs("codigo")%>----------</title>
</HEAD>

<BODY>
<table width='750' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td>
<font face='Verdana' size='2' color='#0000FF'><b>CODIGO:</b></font>&nbsp;
<%=rs("codigo")%>
</td>
</tr>
</table>



'cierro la conexión
conn.close


end if%>
</BODY>
</HTML>
Como puedes ver, se toman los datos del formulario, luego se abre una conexión, se insertan los datos, SE CIERRA LA CONEXIÓN (que será lo que te faltaba), se abre una nueva conexión (que ya encontrará los datos insertados antes) y se muestran los datos cómo y donde quieras. (Lo he hecho con un sólo campo, para no aburrir con los casi 40 que manejo en mi página, pero evidentemente puedes hacerlo con tantos como quieras).

Un último consejo: pon un alert al formulario antes de enviar los datos para que el usuario lo confirme, ya que cuando se muestran lo datos ya están insertados y no podrá eliminarlos (a no ser que hagas otra página ASP que lo permita, claro)

espero haberte ayudado

compartiendo, mejoramos todos