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

Pasar valores de BD de un asp a otro

Estas en el tema de Pasar valores de BD de un asp a otro en el foro de ASP Clásico en Foros del Web. Hola a todos: Mi problema es el siguiente: Tengo una base de datos a la que introduzco registros desde un asp, pero quiero hacer otro ...
  #1 (permalink)  
Antiguo 06/05/2005, 10:22
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
Pasar valores de BD de un asp a otro [SOLUCIONADO]

Hola a todos:

Mi problema es el siguiente: Tengo una base de datos a la que introduzco registros desde un asp, pero quiero hacer otro que los borre. Aparentemente sencillo, pero el problema viene porque pretendo que primero se busque el registro para que el usuario compruebe que es ese el que quiere borrar, y luego le dé a un botón que de hecho, lo borre.

En principio lo he planteado de la siguiente manera:

Un form para buscar según el campo "nombre" que va a->

un asp que presenta el registro buscado con todos sus campos, con un botón que va a ->

un asp que borra los datos del registro seleccionado en el anterior y no otro.

La pega es que no sé cómo decirle al segundo asp qué registro debe borrar, y si hago que presente los datos y los borre en el mismo asp, los presenta y los borra, pero no da opción a decir "¡anda! pero si no era ese el que yo quería borrar"... Quizá la solución pase por "pausar", que el mismo asp presente, espere confirmación, y borre o no...

ayuda, por favor

Última edición por ludovico2000; 09/05/2005 a las 05:31 Razón: SOLUCIONADO
  #2 (permalink)  
Antiguo 06/05/2005, 10:26
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
utiliza un parametro accion que evaluará que es lo que quieres hacer:

Código:
accion = request.form("accion")

Select case accion
  case "confirmar_borrar"
    'Código que muestra el segundo formulario y presenta los registros con otro botón de borrar
  case borrar
    ID = request.form("ID")
    'Código para recuperar el ID y borrar ese registro donde ID = ID
End Select
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/05/2005, 10:41
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
Esteeeee.....

no entiendo.

¿Podrías explicar con más detalle dónde pongo ese código, y si tengo que poner algo en el form?

-por favor-
  #4 (permalink)  
Antiguo 06/05/2005, 10:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Claro Ludovico, lo que te estoy diciendo es que necesitas diferenciar la accion a tomar cierto?

Entonces ponle a tu form un campo de tipo hidden, que se llamara accion, esta acción evaluará que es lo que quieres hacer, el primer formulario viaja a la página asp, donde tienes el case, entonces evalúa si accion = confirmar, entonces muestra el formulario que confirmará el borrado de los datos, este formulario, viajará a esta misma página, nada más que tendrá un campo de tipo hidden llamado accion cuyo valor será borrar, cuando recargues la página, esta acción será analizada por el case, que le dirá a tu aplicación que quiere eliminar este registro, obviamente necesitarás pasarle el ID del registro en cuestión, tanto para mostrar la confirmación, como para borrarlo, nuevamente puedes trabajar con campos de tipo hidden dentro de tu forma para lograr esto.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 06/05/2005, 11:34
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
estoy encarrilándolo, pero se me presenta un problema:

al presentar los datos para verlos antes de borrar:

<%do while not rs.eof%>
<table>
<tr>
<td>
...
<form action='borrardeverdad.asp'>
<font face='Verdana' size='2' color='#0000FF'><b>CODIGO:</b></font>&nbsp;
<%=rs("codigo")%>
AQUI METO UN HIDDEN PARA QUE AL ENVIAR ESTE FORM EL ASP "BORRARDEVERDAD.ASP" SEPA CUÁL TIENE QUE BORRAR
<input type='hidden' name='codigo' value='<%=rs("codigo")%>'>
...

La pega es que no me acepta meter código asp dentro de la etiqueta del input... ¿cómo puede hacerse?
  #6 (permalink)  
Antiguo 06/05/2005, 11:57
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
Hala, ya está, se la he metido doblada:

<DIV ID='paracodigo' style='position:absolute; left:-100px; top:-100px'>
<p><select name="codigo">
<option selected><%=rs("codigo")%></option>
</select>
</DIV>

Con esto, tomo el dato de la consulta anterior, lo meto como dato en el nuevo formulario, y lo puedo enviar al segundo asp, y como está en -100,-100, no se ve.

Vaaaaaaaaale, es una pequeña gran chapuza, pero ¡hey! imaginativa, ¿no?
  #7 (permalink)  
Antiguo 06/05/2005, 12:12
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Hala, ya está, se la he metido doblada:
Que bueno que no participamos en el mismo proyecto

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 09/05/2005, 04:12
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 7 meses
Puntos: 2
DOY PERMISO A TODOS LOS QUE HAN PARTICIPADO EN ESTE POST PARA QUE ME INSULTEN:

SE ME HABÍA OLVIDADO PONERLE method='post' A LA ETIQUETA DEL FORM


En fin...

Dejo los códigos por si alguien los necesita en el futuro...

Código:
Formulario para buscar el registro (se genera desde un asp, porque viene de usuario/clave, pero esa es otra guerra...)[resumido]
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM METHOD='POST' name='formu' ACTION='buscaborrar.asp'>
<b>Indique el CODIGO que desea localizar para borrar y pulse &quot;Localizar&quot;</b>
<b>CODIGO:</b>
<INPUT NAME='codigo' size='12' class='campo'>
<b>D.N.I.:</b>
<input type='text' name='dni1' size='9' class='campo'>
<input type='submit' value='Localizar' name='localizar'>
<input type='button' value='Salir' onclick='fuera()'>
</FORM>
</BODY>
Código:
Código del asp que busca el registro y "crea" el segundo formulario "oculto" [resumido]
<%
Dim Conex
Dim rs
Dim sSQL
Set Conex = Server.CreateObject("ADODB.Connection")
Conex.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../datos/mibase.mdb"))
codigo=Request.form("codigo")

sSQL = "SELECT * FROM registro WHERE ((registro.codigo)='"&codigo&"') ORDER BY codigo"

Set rs = Conex.Execute(sSQL)
 
%>
<%if rs.eof then%>
<p>No se ha encontrado ningún registro con el codigo facilitado</p>
<%else%>
<%do while not rs.eof%>
<form name='formborra' method='post'  action='borrar.asp'>
<b>CODIGO:</b></font>&nbsp;<%=rs("codigo")%>

<DIV ID='paracodigo' style='position:absolute; left:-100px; top:-100px'>
 <select name="codigo">
 <option selected><%=rs("codigo")%></option>
 </select>
 </DIV>

<b>Nombre:</b></font>&nbsp;<%=rs("nombre")%>

<p><input type='submit' value='¡BORRAR!' name='borrar'></p>

  </FORM>

Código:
<%
codigo = Request.form("codigo")
Set conexion=Server.CreateObject("adodb.connection")
conexion.Open"driver={Microsoft Access Driver (*.mdb)}; ; DBQ="+server.mappath ("../datos/mibase.mdb")
sSQL = "delete * from registro where codigo like '" & codigo & "';"
conexion.execute (sSQL)
response.write "Se ha borrado el registro"
conexion.close
%>

Muchas gracias por vuestra paciencia y aportaciones

Última edición por ludovico2000; 09/05/2005 a las 04:46
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 19:33.