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

Borrado de registros

Estas en el tema de Borrado de registros en el foro de ASP Clásico en Foros del Web. Hola a tod@s... Tengo un problemilla que no se por donde cogerlo aunque seguro que es relativamente sencillo, os cuento: Tengo un formulario que recoge ...
  #1 (permalink)  
Antiguo 25/06/2007, 05:41
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Busqueda Borrado de registros

Hola a tod@s...
Tengo un problemilla que no se por donde cogerlo aunque seguro que es relativamente sencillo, os cuento:

Tengo un formulario que recoge datos de dos tablas (T1 y T2) mediante un select y una tercera tabla (T3) donde va a parar los datos de ese formulario.

¿Como lo haríais para borrar los registros de T3?

Las tablas son así mas o menos:
- En T1 tengo Id_evento, fecha, hora, etc
- En T2 tengo Id_pers, nombre, dni, tlfno, etc
- En T3 tengo Id_reg, Id_evento, id_pers

Y a mi me gustaría borrar los registros de T3 consultando nombre e Id_evento por ejemplo que son identificables a simple vista por cualquiera y la combinación de ellos sería única siempre (no puede haber una persona en el mismo evento dos veces).

Gracias

Última edición por Uefor; 25/06/2007 a las 09:58
  #2 (permalink)  
Antiguo 25/06/2007, 09:55
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Borrado de registros

¿La sentencia podría ser algo así?
SQL="DELETE FROM T3 WHERE id_pers = "&nombre&" AND Id_evento;"

  #3 (permalink)  
Antiguo 26/06/2007, 07:36
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrado de registros

no entendi la pregunta...
tu sentencia esta bien hasta antes del AND, el id_evento tienes que igualarlo a algo...
SQL="DELETE FROM T3 WHERE id_pers = "&nombre&" AND Id_evento=" & idevento

si es que es algo asi lo que quieres...
  #4 (permalink)  
Antiguo 30/06/2007, 09:50
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Borrado de registros

Lo que necesito es poder elegir los registros de T3 que quiero borrar.

La única forma que tengo de hacerlo es recuperando información T1 y T2 porque es donde están los datos relativos al evento y la persona... en T3 solo están las id de las personas que se apuntan y de los eventos a los que van.

¿Se puede hacer un INNER JOIN o algo asi de T3 con T1 y T2 para borrar datos de T3?
Por ejemplo...
Código:
SQL=" DELETE T3.*"
SQL=SQL&" FROM T3 INNER JOIN T2" 
SQL=SQL&" ON T3.id_pers=T2.pers"
SQL=SQL&" AND T3.Id_evento=T1.Id_evento"
SQL=SQL&" WHERE Id_reg=Id_reg "

Última edición por Uefor; 01/07/2007 a las 11:01
  #5 (permalink)  
Antiguo 01/07/2007, 22:27
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrado de registros

no seria algo asi como

Código HTML:
 "DELETE FROM T3 WHERE [id_pers] ="&_
"(SELECT pers FROM t2 where pers="&PERSONA&")"&_
AND id_evento =(SELECT [id_reg] FROM T1 where id_reg="&EVENTO&");"
, no soy muy bueno en sentencias SQL, pero no seria de esa forma????


hay los magos chekaran

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 02/07/2007, 07:34
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrado de registros

Cita:
no seria algo asi como


Código HTML:
"DELETE FROM T3 WHERE [id_pers] ="&_
"(SELECT pers FROM t2 where pers="&PERSONA&")"&_
AND id_evento =(SELECT [id_reg] FROM T1 where id_reg="&EVENTO&");", no soy muy bueno en sentencias SQL, pero no seria de esa forma????


hay los magos chekaran

suerte
Tu sentencia esta bien y funciona perfecto, pero si en la tabla T3 tienes ambas columnas id_pers y id_reg no necesitas hacer joins con las otras tablas, solo tienes que hacer una comparaciòn directa.
  #7 (permalink)  
Antiguo 02/07/2007, 17:51
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrado de registros

cesar, quieres decir que si los datos que el selecciona de SELECTS, apuntan directamente a ese registro especifico, se ahorraria traducir la SQL Query a simplemente

DELETE FROM T3 where id_pers=" & PERSONA & " AND Id_evento =" & EVENTO & ";"

y evitaria abusar de la base de datos, no es asi?

quiere decir que una implementacion, de lo que ocupa Uefor lo podria realizar con AJAX, no es asi? ya que el mediante selects trae los datos a eliminar, entonces:

al iniciar la pagina utiliza un select que se llena dinamicamente, al onchange del select, funcion AJAX, traes todos los datos relativos a "X", Persona, y en complemento del segundo, un boton que se haga visible el cual te permita eliminar el registo en T3, seria???

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #8 (permalink)  
Antiguo 03/07/2007, 06:38
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo Re: Borrado de registros

Hola gracias por vuestras respuestas... he estado un poco liado con unos problemillas que me han surgido y no he podido contestar a vuestros post...

Voy a intentar hacerlo de esa forma que explicais y os cuento en cuanto lo haya probado.
SaLu2
  #9 (permalink)  
Antiguo 03/07/2007, 16:11
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Re: Borrado de registros

Pues no consigo que borre los registros... le he dado varias vueltas pero sin resultados, ¿me dais una ayudita con el formulario please?

Esto es parte de el... donde creo que está el problema
Código:
<%  
     Dim RS_buzos, SQL_buzos, socio
     
SQL_buzos=" SELECT TOP 12 buzos_incl.*, Socios.*"
SQL_buzos=SQL_buzos&" FROM buzos_incl INNER JOIN Socios" 
SQL_buzos=SQL_buzos&" ON buzos_incl.Socio=Socios.socio "
SQL_buzos=SQL_buzos&" WHERE IdSalidas="&IdSalidas&""
SQL_buzos=SQL_buzos&" ORDER BY Id ASC"
			 
        set RS_buzos=createobject("ADODB.Recordset")
        RS_buzos.open SQL_buzos,conn
        do while not RS_buzos.eof  
%>
  &nbsp;&nbsp;
      <input TYPE="text" CLASS="fc_dateHover" VALUE="<%=RS_buzos("Socio")%>" SIZE="7" READONLY="true">
  &nbsp;&nbsp;
     <input TYPE="text" CLASS="fc_dateHover2" VALUE="<%=RS_buzos("Nombre")%>" SIZE="53" READONLY="true">
  &nbsp;&nbsp;
      <input NAME="Id"  TYPE="hidden" VALUE="<%=RS_buzos("Id")%>" >
<% 
   Dim RS_del, SQL_del

SQL_del="DELETE FROM buzos_incl WHERE buzos_incl.Socio=Socios.socio AND IdSalidas="&IdSalidas&""

        set RS_del=createobject("ADODB.Recordset")
        RS_del.open SQL_del,conn
        do while not RS_del.eof  
%>
      <input TYPE="submit" NAME="Submit" VALUE="Quitar buzo">
      <input TYPE="hidden" NAME="MM_delete" VALUE="formulario">
      <input TYPE="hidden" NAME="MM_recordId" VALUE=<%=RS_del("Id")%> >
<br />
     
     <%
    RS_buzos.movenext
    loop	
    RS_buzos.close
    set RS_buzos = nothing
	 
    RS_del.movenext
    loop	
    RS_del.close
    set RS_del = nothing

    end if 
    Conn.close()
    Set Conn = nothing
%>
SaLu2
  #10 (permalink)  
Antiguo 03/07/2007, 16:16
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrado de registros



seria bueno que imprimieras con response.write el SQL_DEL
para saber si manda todos los parametros requeridos en la busquede-eliminacion

esta parte es donde tengo duda?
SQL_del="DELETE FROM buzos_incl WHERE buzos_incl.Socio=Socios.socio AND IdSalidas="&IdSalidas&""

si trae parametros???
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #11 (permalink)  
Antiguo 04/07/2007, 02:52
Avatar de Uefor  
Fecha de Ingreso: agosto-2006
Ubicación: Murcia
Mensajes: 136
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Borrado de registros

Ahora mismo me acabo de dar cuenta que si borra los registros, el problema es que los borra todos al cargar la página y no cuando le doy al sumit del registro concreto.
  #12 (permalink)  
Antiguo 04/07/2007, 07:42
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrado de registros

Pues Shiryu te contarè que de ayax no se nada, asi que no podrìa decirte si es asi o no, por otro lado, tengo la misma duda que tu en ese query de borrado de registros, no lo entendì....
  #13 (permalink)  
Antiguo 04/07/2007, 10:18
 
Fecha de Ingreso: junio-2007
Mensajes: 6
Antigüedad: 17 años
Puntos: 0
Re: Borrado de registros

Digo lo mismo que shiryu, si corres el query asi, puede borrar cosas que no quieres, pero segun yo si es con el AND en el query de DELETE
  #14 (permalink)  
Antiguo 04/07/2007, 10:31
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrado de registros

analizando lo que requieres puedes realizar lo siguiente con respecto a esa sentencia que deseas realizar

y es que si tu parametro principal es id.socio

Cita:
SQL_del="DELETE FROM buzos_incl WHERE buzos_incl.Socio=Socios.socio AND IdSalidas="&IdSalidas&""
esta ya no nos funciona
seria, modificando un poquitillo tu codigo
Cita:
SQL_del="DELETE FROM buzos_incl WHERE buzos_incl.Socio="&request.Form("id")&" AND IdSalidas="&IdSalidas&""
de esa forma si toma el valor del socio(el id), ya que en tu tercera tabla(buzos_incl), insertas los ID's de los buzos, entonces ahora si no tendriamos conflictos

intentalo, o analiza la posibilidad, y nos cuentas

suerte:arrib:
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
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 12:35.