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

Como hacer buen uso de los rs

Estas en el tema de Como hacer buen uso de los rs en el foro de ASP Clásico en Foros del Web. Hola Tengo un problema, creo que es con los recordset, estoy listando una tabla de registros y e creado la opcion de eliminar los registros ...

  #1 (permalink)  
Antiguo 16/04/2007, 14:03
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 18 años
Puntos: 0
Como hacer buen uso de los rs

Hola

Tengo un problema, creo que es con los recordset, estoy listando una tabla de registros y e creado la opcion de eliminar los registros pero al momento de eliminarlos no se actualiza la pagina pero el registro si es eliminado de la BD.

De ante mano agradesco su ayuda.

Se despide un nobato en asp.
  #2 (permalink)  
Antiguo 16/04/2007, 14:52
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

No se como le estés haciendo, ya que no pones código, pero supongo que después de la instrucción que borra los registros tienes un Response.Redirect a la misma página, es cierto esto?
  #3 (permalink)  
Antiguo 16/04/2007, 17:14
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 18 años
Puntos: 0
Re: Como hacer buen uso de los rs

Hola Myakire

Asi es aqui de jo el codigo...

<%
ConsultaVivienda="select * from TIPOVIVIENDA where id_TIPO_VIVIENDA='"&cint(request.QueryString("num" ))&"'"
set rs=conn.execute(ConsultaVivienda)
if not rs.eof then
'BORRO LA VIVIENDA
sentencia="delete from TIPOVIVIENDA where id_TIPO_VIVIENDA='"&request.QueryString("num")&"'"
conn.execute(sentencia)
Response.Redirect("Vivienda.asp?SW=1&Error=4")


end if
%>

Ojala te sirva para darme una solucion.
  #4 (permalink)  
Antiguo 17/04/2007, 01:32
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Como hacer buen uso de los rs

¿Porqué haces un select * antes de borrar? Sobrecargas la BD sin sentido. A ver que te parece esta forma:

<%

' si existe la variable GET "num" es para borrar el registro
if request.QueryString("num") <> "" then
'BORRO LA VIVIENDA
sentencia="delete from TIPOVIVIENDA where id_TIPO_VIVIENDA='"&request.QueryString("num")&"'"
conn.execute(sentencia)
' Si todo ha ido bien, el registro se ha borrado
end if

' No hagas redirect. Simplemente lee la tabla de nuevo y haz el listado
ConsultaVivienda="select * from TIPOVIVIENDA"

' Si en vez de * usas los nombres de los campo mejor que mejor
%>


Como ves no recargo la página de nuevo. Realizo las consultas de accion antes de las de seleccion. Asi me aseguro que todas las transacciones han sido hechas antes de bloquear la tabla para leer. Luego, simplemente, dejo que la página se dibuje tranquilamente


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 17/04/2007, 01:46
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Wolas, yo no sé cómo será en ASP pero en VB y Access lo que tuve que hacer en su día era recargar la página, para que cuando sacara los datos ya no estuviera el que estaba borrado y quedara más estetico, te digo por si la solución de tammander no la puedes hacer, que yo cuando tuve que hacer eso, el usuario elegia lo que borraba, asique tenía primero que seleccionar y luego que borrar >_>
  #6 (permalink)  
Antiguo 17/04/2007, 02:26
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Como hacer buen uso de los rs

Cita:
Iniciado por Shilfild Ver Mensaje
Wolas, yo no sé cómo será en ASP pero en VB y Access lo que tuve que hacer en su día era recargar la página, para que cuando sacara los datos ya no estuviera el que estaba borrado y quedara más estetico, te digo por si la solución de tammander no la puedes hacer, que yo cuando tuve que hacer eso, el usuario elegia lo que borraba, asique tenía primero que seleccionar y luego que borrar >_>
Cierto

Primero (Client Side) seleccionar de una lista

Segundo (Client Side) indicarle al navegador que haga postback con los nuevos datos

Tercero (Server Side) Realizar las acciones pertinentes que el usuario/a haya solicitado

Cuarto (Server Side) Recuperar los nuevos datos

Quinto (Client Side) Visualizar la nueva lista


Y vuelta a empezar

Como ves recargo la página una sola vez ya que leo la BD despues de la operacion de borrado con lo que la BD ya esta actualizada.

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #7 (permalink)  
Antiguo 17/04/2007, 02:36
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Pues hay una cosa que no entiendo, a ver si me sé explicar xD

1) Tu al cliente le tienes que mostrar una lista que salga de una BD, ahí tiene que haber un select hacia la BD.

2) El cliente elige lo que quiere borrar

3) Haces un delte contra la BD

4) Haces otra select y que te muestre la lista modificada ó
Recargas la página para que no te salga * Registro borrado * que me salia a mi en VB
  #8 (permalink)  
Antiguo 17/04/2007, 07:30
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

que les parece hacerlo de esta manera???

primero se muestra en pantalla toda la lista de la base de datos, para ello se hace el select, y al lado de la lista un checkbox, luego el cliente selecciona todas las que tiene que borrar, y luego se borran todas juntas, para no tener que repetir esa acción tantas veces.

luego vìa javascript se eliminan todas las filas que estèn seleccionadas y asì no tienes que leer nuevamente la base de datos para refrescar...
  #9 (permalink)  
Antiguo 17/04/2007, 07:36
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Me parece buena idea, y es que yo en ASP no lo he hecho pero en VB a mí, después me salia algo como #Eliminado# y me parecía que quedaba fatal, por eso hacía lo de refrescar la página en la que estaba, no sé cómo quedará aquí...
  #10 (permalink)  
Antiguo 17/04/2007, 08:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

a ver .... a ver .... vamonos entendiendo ....
Cita:

Primero (Client Side) seleccionar de una lista

Segundo (Client Side) indicarle al navegador que haga postback con los nuevos datos

Tercero (Server Side) Realizar las acciones pertinentes que el usuario/a haya solicitado

Cuarto (Server Side) Recuperar los nuevos datos

Quinto (Client Side) Visualizar la nueva lista


Y vuelta a empezar

Como ves recargo la página una sola vez ya que leo la BD despues de la operacion de borrado con lo que la BD ya esta actualizada.
Pues yo no veo -ni leo- que recargues la página una sola vez, lo haces 2 veces con 3 llamadas al servidor de BD: Una para cargar los datos de la lista, otra en el postback (jerga de .net) donde "Realizar las acciones pertinentes que el usuario/a haya solicitado" y otra para recuperar los "Recuperar los nuevos datos".

Yo no veo por que dices que solo una vez, ya que me parece que estas confundiendo a Shilfild


Cita:
primero se muestra en pantalla toda la lista de la base de datos, para ello se hace el select, y al lado de la lista un checkbox, luego el cliente selecciona todas las que tiene que borrar, y luego se borran todas juntas, para no tener que repetir esa acción tantas veces.

luego vìa javascript se eliminan todas las filas que estèn seleccionadas y asì no tienes que leer nuevamente la base de datos para refrescar...
Pues para mi es lo mismo: Lees la BD para presentar la lista, llamas al servidor para borrar las filas (lo tienes que hacer llamando otra página supongo en un frame oculto o un popup fuera de pantalla) y solo te evitas el refrescar la página para que se vean los datos que restan en la lista, pero con ello no garantizas que lo que el usurio ve, sea lo que efectivamente hay en la BD's, por que tal vez uno de los registros no se puedo borrar por X o Y razón.

La verdad no veo por que tanto rizar el riso. En cualquier lenguaje de programación es lo mismo. En VB o Delphi -o .net- si borras en un Grid, el funcionamiento es el mismo, no se evitan los postbacks, solo que los hacen los controles en lugar de uno mismo con las páginas.
  #11 (permalink)  
Antiguo 17/04/2007, 08:28
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Nah si a mí no me confunde, pero creo que los dos decimos lo mismo o muy parecido, es solo que he visto este post y me ha entrado la curiosidad, por si algún día tengo que hacer algo similiar y así aportar algo también (aunque sea poquito >_>)
  #12 (permalink)  
Antiguo 17/04/2007, 08:31
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

aahh ok ...
  #13 (permalink)  
Antiguo 17/04/2007, 08:33
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

De hecho lo que más me preocupa es liar al que hizo la pregunta, que pobrecillo cuando vea esto.. xD
pero bueno simplemente creo que por una vez tammander se ha confundido con eso de que solo recarga la página una vez n,n
  #14 (permalink)  
Antiguo 17/04/2007, 21:01
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por ipalomin Ver Mensaje
Hola

Tengo un problema, creo que es con los recordset, estoy listando una tabla de registros y e creado la opcion de eliminar los registros pero al momento de eliminarlos no se actualiza la pagina pero el registro si es eliminado de la BD.

De ante mano agradesco su ayuda.

Se despide un nobato en asp.
Estimados todos, yo conozco a este muchacho en persona y el problema también, pues entre los dos no cachamos que pasa, les voy a explicar de que se trata el problema

En una Página X, mostramos un listado, que tiene un link a una página Y (link para eliminar el registro). Lo que ocurre es que al presionar el link para borrar el registro, la página Y efectivamente elimina el registro y despues de eliminarlo, nos manda de regreso a la página X, es en esta página X donde esta el problema, debido a que en el listado, nos sigue mostrando el registro que recién fue eliminado. Entonces nos muestra un registro que en realidad ya no existe.

Lo que nos falta es saber como podemos actualizar la página X para que refresque el listado...

espero que quede un poco mas claro y también esperamos que nos puedan ayudar...


Saludos a Todos...

  #15 (permalink)  
Antiguo 18/04/2007, 01:31
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Como hacer buen uso de los rs

Estimados colegas

Yo no creo que me haya equivocado. De hecho sigo insistiendo que solo hago postback (ya se, Myakire ) una sola vez ya que no cuento la del listado inicial.

Pongamos una página ya dibujada. Con su listado y con sus checkbox de borrado (la idea de CésarBalaguer es la ideal) Hasta ese momento no hay accion alguna hasta que el usuario selecciona el/los registro(s) a borrar. Pulsa el botoncito de "Go" (o el que sea). Ahí esta la llamada a la misma página (o postback) con sus datos POST o GET adjuntos. El servidor lee esos parametros y actua en consecuencia. Hace una/varias llamadas a la BD para borrar los datos. Si no hay error, continua ejecutando el resto de la página que se hubiera ejecutado incluso si no hay parametros en la página: La seleccion de los datos a mostrar en el grid.

1 recarga/postback/llamado

2 Acciones sobre la BD: Borrado y lectura


Ahora viene la pregunta del millón: ¿Qué BD actualmente deja una bandera de borrado sobre los registros en vez de borrarlos definitivamente (eso de #eliminado#) ? Sólo lo hacia DBASE hace tiempo, no se actualmente, pero incluso ACCESS elimina los registros. Necesito saber que BD es para actuar en consecuencia. Una lectura SQL me devuelve siempre los registros activos, no los "supuestamente" borrados.

NOTA: Excelente post de debate

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #16 (permalink)  
Antiguo 18/04/2007, 01:44
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

La cosa es que no le estamos dando una solución a los que hicieron la pregunta.. xD

Yo hice un proyecto en Access y tenía un listado que según entrabas en la página hacía la select, al pinchar en una lista desplegable tenias los registros que podías borrar, cuando seleccionabas uno de ellos y le dabas a borrar se borraba, perfecto, pero si no actualizaba otra vez la página lo que hacía era mostrarme en la lista desplegable un #Eliminado# por lo que hice que cada vez que se borrara un dato correctamente recargara la página para que se hiciera otra select con los datos actualizados (que no aparecieran los borrados de la BD)

Es decir:

1.- Select para coger todos los registros
2.- Delete para borrar el elemento seleccionado
3.- Recargo la página (no se nota para el cliente) y realizo otra vez la select.

Así cada vez que quiera borrar un registro, no sé si me he explicado correctamente. Quizá en ASP es distinto, pero yo en Access tenía ese problema, tenía que recargar la página para que me recargara los registros actualizados.
  #17 (permalink)  
Antiguo 18/04/2007, 06:35
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por tammander Ver Mensaje

Ahora viene la pregunta del millón: ¿Qué BD actualmente deja una bandera de borrado sobre los registros en vez de borrarlos definitivamente (eso de #eliminado#) ? Sólo lo hacia DBASE hace tiempo, no se actualmente, pero incluso ACCESS elimina los registros. Necesito saber que BD es para actuar en consecuencia. Una lectura SQL me devuelve siempre los registros activos, no los "supuestamente" borrados.

NOTA: Excelente post de debate

Un saludo
Se trata de una base de datos SQL Server

Gracias a todos por sus comentarios...
  #18 (permalink)  
Antiguo 18/04/2007, 06:37
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Re: Como hacer buen uso de los rs

Cita:
Iniciado por Shilfild Ver Mensaje
La cosa es que no le estamos dando una solución a los que hicieron la pregunta.. xD

Yo hice un proyecto en Access y tenía un listado que según entrabas en la página hacía la select, al pinchar en una lista desplegable tenias los registros que podías borrar, cuando seleccionabas uno de ellos y le dabas a borrar se borraba, perfecto, pero si no actualizaba otra vez la página lo que hacía era mostrarme en la lista desplegable un #Eliminado# por lo que hice que cada vez que se borrara un dato correctamente recargara la página para que se hiciera otra select con los datos actualizados (que no aparecieran los borrados de la BD)

Es decir:

1.- Select para coger todos los registros
2.- Delete para borrar el elemento seleccionado
3.- Recargo la página (no se nota para el cliente) y realizo otra vez la select.

Así cada vez que quiera borrar un registro, no sé si me he explicado correctamente. Quizá en ASP es distinto, pero yo en Access tenía ese problema, tenía que recargar la página para que me recargara los registros actualizados.
Estimado, es justamente eso que mencionas en los puntos 1,2 y 3 lo que necesitamos, en cuanto a los puntos 1 y 2 ya los tenemos listos, pero no sé como actualizar la página, como tú lo indicas en el punto nº 3...

De verdad les agradezco a todos por su colaboración...
  #19 (permalink)  
Antiguo 18/04/2007, 06:55
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Uy, pues a menuda le has ido a preguntar.. la que menos idea de asp tiene xD

Pero bueno, intentaré responderte como buenamente pueda.
Yo lo que haría sería poner la select al principio de la página por lo que cuando el usuario de al botón borrar y haga el delete poner algo como: location.href="delete.asp" (como se llame tu página ASP)

Me explico:

1.- Abres la página delete, se carga con la select que hay al comienzo
2.- El usuario elige y borra el registro, en cuanto lo haya borrado, pones una referencia a la página location.href="delete.asp" para que se vuelva a cargar (el select ya está incluido)

Espero que te sirva de ayuda.
  #20 (permalink)  
Antiguo 18/04/2007, 06:56
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Como hacer buen uso de los rs

SQL Server no mantiene banderas de borrado. Si haces una consulta SQL te devuelve los registros reales de la tabla (de hecho, realiza bloqueos incluso en consultas de seleccion :S ) Con lo que puedes saltarte el punto 3. Yo pondría el punto 2 en el 1 y el 1 en el 2. Recordad que esto no es VBA es VBScript con ADO usando ODBC. Cuando borras, borras de verdad. NO HAY MARCHA ATRAS. por lo que no deja banderas de ningun tipo.


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #21 (permalink)  
Antiguo 18/04/2007, 07:19
Avatar de Shilfild  
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Como hacer buen uso de los rs

Por eso dije que no estaba muy segura, pero, si el usuario tiene que elegir algo de una lista segun entra, no debería haber un select (para ver lo que hay)? Cómo eliges sino lo que quieres borrar?
  #22 (permalink)  
Antiguo 18/04/2007, 08:28
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por Shilfild Ver Mensaje
Por eso dije que no estaba muy segura, pero, si el usuario tiene que elegir algo de una lista segun entra, no debería haber un select (para ver lo que hay)? Cómo eliges sino lo que quieres borrar?
Tal vez no es la mejor forma de hacerlo, pero esta asi...

En una tabla de 4 columnas, y n filas, dejo la última columna para mostrar una imagen con una X, y esa imagen la tengo vinculada a una página que me pregunta si estoy seguro de eliminar el registro, si le dice que si, lo elimina y despues me envía a la página principal. Si le digo que no, no lo elimina y me envía a la página principal...

Saludos
  #23 (permalink)  
Antiguo 18/04/2007, 17:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

Voy a dejar para mañana que tenga más tiempo la respuesta a tammander, jeje, casi nos entendemos pero aún le voy a replicar, ya ven lo necio que soy
Cita:
En una Página X, mostramos un listado, que tiene un link a una página Y (link para eliminar el registro). Lo que ocurre es que al presionar el link para borrar el registro, la página Y efectivamente elimina el registro y despues de eliminarlo, nos manda de regreso a la página X, es en esta página X donde esta el problema, debido a que en el listado, nos sigue mostrando el registro que recién fue eliminado. Entonces nos muestra un registro que en realidad ya no existe.

Lo que nos falta es saber como podemos actualizar la página X para que refresque el listado...
Pero por lo pronto a jpzapatas quiero preguntarle: Cómo diablos regresas a la página X!!!

Nomás con que nos salgas que haces un history.back(1) y es para ciber-ahorcarlos

Y es que es lo único que podría ser causa de que no vieran los registros restantes en su listado, que esten regresando y que conserven el caché.... es más, coloque este código en la página X para garantizar que no haya nada en caché:

Código:
<%
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control","private" 
Response.CacheControl = "no-cache"
%>
	  <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
	  <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
	  <META HTTP-EQUIV="Expires" CONTENT="0">
  #24 (permalink)  
Antiguo 19/04/2007, 06:41
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Myakire:

La forma de regresar a la página X que utilizamos es la siguiente

<%
response.redirect("X.asp")
%>

Muchas gracias a todos por la atención que nos han prestado

Saludos

jpzapatas
  #25 (permalink)  
Antiguo 19/04/2007, 07:20
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

Cual es el código exacto con el que borras los registros?

Si, ya se que unos post arriba alguien puso:

Cita:
sentencia="delete from TIPOVIVIENDA where id_TIPO_VIVIENDA='"&request.QueryString("num")&"'"
conn.execute(sentencia)
Pero quisiera pusieras el query ya interpretado en su valor request.QueryString("num") (supongo que id_TIPO_VIVIENDA es tipo string)
  #26 (permalink)  
Antiguo 19/04/2007, 09:26
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por Myakire Ver Mensaje
Cual es el código exacto con el que borras los registros?

Si, ya se que unos post arriba alguien puso:



Pero quisiera pusieras el query ya interpretado en su valor request.QueryString("num") (supongo que id_TIPO_VIVIENDA es tipo string)
A ver si comprendí

En este codigo muestro el link para eliminar

<td><a href="EliminaVivienda.asp?ID=<%=rs("id_vivien")%>" ><img src="../Imagenes/Eliminar.jpg" width="32" height="32" border="0" /></a></td>


la página eliminavivienda.asp contiene lo siguiente

<script language="javascript">
if (confirm('Esta Seguro de eliminar la Vivienda...?')){
window.open('Eliminar.asp?num=<%=response.Write(re quest.QueryString("ID"))%>','_self','');
}else{
window.open('Vivienda.asp?SW=1','_self','');
}
</script>


Y por último la página Eliminar.asp contiene lo siguiente

<%
ConsultaVivienda="select * from vivienda where id_vivien='"&request.QueryString("num")&"'"
VarIDCASA=cint(trim(request.QueryString("num")))
set rs=conn.execute(ConsultaVivienda)
ConsultaGastosComunes="select * from gastocomun where id_vivien='"&request.QueryString("num")&"'"
set rs2=conn.execute(ConsultaGastosComunes)
if not rs.eof then
if rs("Rut_perso")="11.111.111-1" then
if not rs2.eof then
IF cint(rs2("id_vivien"))=VarIDCASA then
'NO SE PUEDE BORRAR
Response.Redirect("Vivienda.asp?SW=1&Error=8")
ELSE
'BORRO LA VIVIENDA
sentencia="delete from vivienda where id_vivien='"&request.QueryString("num")&"'"
conn.execute(sentencia)
sentencia4="delete from cuentavivienda"
conn.execute(sentencia4)
Sentencia6="Select Count(id_vivien) as CantidadDeCasas from vivienda"
Set rs6=conn.execute(Sentencia6)
sentencia="Select id_vivien from vivienda"
set rs=conn.execute(sentencia)
while not rs.eof
Sentencia="insert into CuentaVivienda (ID_VIVIEN, Cantidad_CuentaVivienda)values('"&rs("ID_VIVIEN")& "', '"&rs6("CantidadDeCasas")&"')"
conn.execute(Sentencia)
rs.movenext
wend
Response.Redirect("Vivienda.asp?SW=1&Error=6")
end if
else
'BORRO LA VIVIENDA
sentencia="delete from vivienda where id_vivien='"&request.QueryString("num")&"'"
conn.execute(sentencia)
sentencia4="delete from cuentavivienda"
conn.execute(sentencia4)
Sentencia6="Select Count(id_vivien) as CantidadDeCasas from vivienda"
Set rs6=conn.execute(Sentencia6)
sentencia="Select id_vivien from vivienda"
set rs=conn.execute(sentencia)
while not rs.eof
Sentencia="insert into CuentaVivienda (ID_VIVIEN, Cantidad_CuentaVivienda)values('"&rs("ID_VIVIEN")& "', '"&rs6("CantidadDeCasas")&"')"
conn.execute(Sentencia)
rs.movenext
wend
Response.Redirect("Vivienda.asp?SW=1&Error=6")
end if
else
' NO PUEDE ELIMINAR LA VIVIENDA
Response.Redirect("Vivienda.asp?SW=1&Error=7")
end if
end if
%>
  #27 (permalink)  
Antiguo 19/04/2007, 11:01
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Como hacer buen uso de los rs

Quisiera ver el código fuente ya generado por el servidor de esto:

<script language="javascript">
if (confirm('Esta Seguro de eliminar la Vivienda...?')){
window.open('Eliminar.asp?num=<%=response.Write(re quest.QueryString("ID"))%>','_self','');
}else{
window.open('Vivienda.asp?SW=1','_self','');
}
</script>

Para ver que se manda se parámetro



Tambien te preguntaba por el tipo de dato de id_vivien, por que por como lo tratas es cadena y normalmente los ID son numéricos:

ConsultaVivienda="select * from vivienda where id_vivien='"&request.QueryString("num")&"'"
  #28 (permalink)  
Antiguo 19/04/2007, 11:08
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Como hacer buen uso de los rs

Wow!! ¿Y no te conviene crear algun tipo de transaccion o meter algo de eso como trigger o como procedimeinto en la BD MSSQL?

Otra cosa, no uses tantos recordset o intenta optimizarlos. Ah! y cierra los que uses.

Es un consejo


Un saludo.

NOS VEMOS DENTRO DE 4 DIAS!!
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #29 (permalink)  
Antiguo 19/04/2007, 12:01
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por Myakire Ver Mensaje
Quisiera ver el código fuente ya generado por el servidor de esto:

<script language="javascript">
if (confirm('Esta Seguro de eliminar la Vivienda...?')){
window.open('Eliminar.asp?num=<%=response.Write(re quest.QueryString("ID"))%>','_self','');
}else{
window.open('Vivienda.asp?SW=1','_self','');
}
</script>

Para ver que se manda se parámetro



Tambien te preguntaba por el tipo de dato de id_vivien, por que por como lo tratas es cadena y normalmente los ID son numéricos:

ConsultaVivienda="select * from vivienda where id_vivien='"&request.QueryString("num")&"'"
Tienes toda la razón es de tipo numerico, eso quiere decir que debiera quedar asi:

ConsultaVivienda="select * from vivienda where id_vivien='"&request.QueryString(num)&"'"

o no?
  #30 (permalink)  
Antiguo 19/04/2007, 12:01
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Como hacer buen uso de los rs

Cita:
Iniciado por tammander Ver Mensaje
Wow!! ¿Y no te conviene crear algun tipo de transaccion o meter algo de eso como trigger o como procedimeinto en la BD MSSQL?

Otra cosa, no uses tantos recordset o intenta optimizarlos. Ah! y cierra los que uses.

Es un consejo


Un saludo.

NOS VEMOS DENTRO DE 4 DIAS!!
Creo que tienes razón lo voy a considerar...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:49.