Foros del Web » Programando para Internet » ASP Clásico »

Envio de variables habiendo antes insertado en tabla

Estas en el tema de Envio de variables habiendo antes insertado en tabla en el foro de ASP Clásico en Foros del Web. Hola a todos. Haber si alguien me puede ayudar que llevo con esto todo el dia y seguro que es una gilipollez. Me explico, tengo ...
  #1 (permalink)  
Antiguo 26/04/2005, 10:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 29
Antigüedad: 19 años, 6 meses
Puntos: 0
Envio de variables habiendo antes insertado en tabla

Hola a todos.

Haber si alguien me puede ayudar que llevo con esto todo el dia y seguro que es una gilipollez. Me explico, tengo un formulario en el cual con un boton de insertar mando los valores a un a tabla, hasta aqui bien pero al abrir la pagina que me dice que los datos se me han enviado correctamente lo que quiero es tambien llevar aqui uno de los campos que he enviado con un:
Cod = request.Form("CODPET")
response.Write("el valoer es") & Cod
Lo he intentado de mil formas pero no me sale entiendo que una vez llevado los campos a la tabla no se pueden recuperar, si alguien le ha pasado y sabe un solucin agradeceria mucho su ayuda. Ahora que se me ocurre tambien lo he intentado con lo siguiente en el boton
onClick="document.FACTU.action='facturaenv.asp?Cod =Cod.value'">
de esta mamera me recoge bien el dato en la pagina pero no me inserta los registros en la tabla.

Gracias a todos
  #2 (permalink)  
Antiguo 26/04/2005, 11:20
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 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
  #3 (permalink)  
Antiguo 26/04/2005, 11:36
 
Fecha de Ingreso: noviembre-2004
Mensajes: 29
Antigüedad: 19 años, 6 meses
Puntos: 0
Muchas gracias Ludovico, por la rapidez y la explicacion que me parece perfecta.
Un saludo.
  #4 (permalink)  
Antiguo 27/04/2005, 05:00
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
Me alegro de que te haya servido; si tienes alguna duda, pregunta, que "pa eso estamo"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:32.