Pagina 1 di 9 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 85
  1. #1

    Strano comportamento di ASP

    Ciao a tutti, sto facendo un esercizio per un corso ASP e ho dei comportamenti strani in fase di esecuzione delle query di selezione, modifica e cancella.
    L'es. in sostanza prevede l'iscrizione utente (insert), la cancellazione dei dati, la modifica e il login dell'utente.
    Premetto che uso Dw per la stesura del codice e i test su server localhost
    L'Insert dei dati avviene correttamente nel DB Access in remoto. Quando vado ad eseguire ad esempio la cancellazione di dati appena inseriti con una query di Delete, mi dice che l'utente non è registrato, cioè sembra non considerare il codice per la cancellazione.
    La cosa strana però è che lo stesso sito passatomi (e scritto) dal mio docente funziona bene se lo testo sul mio Pc, mentre il mio che è praticamente identico, no.
    Ho anche stampato e confrontato i due listati (mio e suo) e corrispondono perfettamente.

    Lui dice che è un problema di DW che si è incasinato e ha generato files e codice corrotti.
    Ho provato quindi a installare la stessa vers. di Dw (la 8.0) che abbiamo a scuola sul mio Pc e ho ricreato le pagine ex novo cambiando i nomi e facendo copia/incolla del codice.
    Niente purtroppo. NOn funziona lo stesso. Insert si, ma Cancella/Modifica/Login, purtroppo ancora no.

    Ho pensato fosse un difetto di IIS ma il problema l'avrebbe dato anche sul suo di Sito penso. Oltretutto ho anche fatto test sui server Aruba ma niente, stesso problema.

    Se avete consigli
    Grazie
    Massimo

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Sandra
    Registrato dal
    May 2005
    Messaggi
    129

    ...

    Dovresti controllare il codice generato da DW VVoVe: .....se non sai come correggere... posta il codice, che qualcuno/a ti potrebbe aiutare.

    Ciao.

  4. #4
    questo il codice della pagina di cancellazione dei dati utente:

    <% dim user,psw,trovato,con,rs,sql_sel,sql_canc
    user=trim(lcase(request("user")))
    psw=trim(lcase(request("password")))

    set con=server.createobject("adodb.connection")
    set rs=server.createobject("adodb.recordset")

    con.connectionstring="dsn=videoteka"
    con.open

    sql_sel="select user,password from tab_clienti where user= '" & user & "' and password= '" & psw & "'"
    rs.open sql_sel,con

    do until rs.eof
    if rs.fields("user")=user and rs.fields("password")=psw then
    sql_canc="delete from tab_clienti where user='" & user & "'and password= '" & psw & "'"
    con.execute(sql_canc)
    response.write"I tuoi dati sono stati eliminati "
    response.End()
    end if
    rs.movenext
    loop

    rs.close
    set rs=nothing
    con.close
    set con=nothing
    %>

  5. #5
    ma tu stai cercando di cancellare il record mentre lo leggi? dovresti prima chiudere il recordset e poi effettuare la cancellazione credo.
    ...NO ONE IS INNOCENT ANYMORE...

  6. #6
    non dovrebbe. La condizione IF dentro il ciclo DO controlla se esiste user e password nel db e in tal caso lo cancella.
    Il problema è che, nonostante lo USER e password esistano nel DB (creati poco prima con una operazione di INSERT e opportunamente controllati aprendo il DB Access), non esegue la query di DELETE, cioè dice che il record non esiste.

    Mi è stato consigliato di provare a disinstallare IIS e reinstallarlo, se anche così non dovesse funzionare, mi sa che toccherà reinstallare XP.
    Il problema sembra più dovuto a IIS che potrebbe essersi "rovinato"...

    proverò, a voi nel frattempo se vi vengono idee postatele...

    grazie
    mdp

  7. #7
    ...ma non è che è solo questione di un asterisco??...

    sql_canc="delete from tab_clienti where user='" & user & "'and password= '" & psw & "'"

    dovrebbe essere "delete * from tab_clienti.....ecc......altrimenti cosa cancella?

  8. #8
    purtroppo non va. l'asterisco sulla pagina del prof. non c'è e funziona lo stesso. nella mia anche mettendolo non va lo stesso.

    Ho provato a disinstallare IIS e rimmetterlo ma non cambia nulla.

    Testerò il sito su una altro PC con IIS e se funziona vorrà dire che dovrò reinstallare XP, anche se vorrei evitarlo se possibile.

    ciao
    mdp

  9. #9
    Originariamente inviato da liloeconnie
    non dovrebbe. La condizione IF dentro il ciclo DO controlla se esiste user e password nel db e in tal caso lo cancella.
    Il problema è che, nonostante lo USER e password esistano nel DB (creati poco prima con una operazione di INSERT e opportunamente controllati aprendo il DB Access), non esegue la query di DELETE, cioè dice che il record non esiste.

    Mi è stato consigliato di provare a disinstallare IIS e reinstallarlo, se anche così non dovesse funzionare, mi sa che toccherà reinstallare XP.
    Il problema sembra più dovuto a IIS che potrebbe essersi "rovinato"...

    proverò, a voi nel frattempo se vi vengono idee postatele...

    grazie
    mdp
    non dovrebbe, ma hai provato a fare una delete secca di un record? in quel modo funziona?
    hai una colonna id nella tua tabella? in quel modo potresti riempire una stringa con gli id che ti serve cancellare e poi con una query unica li cancelli.
    ad esempio : Delete * from tabella where id in (x, y, z)
    ...NO ONE IS INNOCENT ANYMORE...

  10. #10
    no non ho provato, come devo fare? da asp o dentro access?
    mandami qualche indicazione in merito che sono piuttosto alle prime armi

    L'id c'è, ma il metodo che mi hai consigliato a cosa servirebbe? cioè, perchè utilizzare il campo id proprio?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.