Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Verifica di avvenuto update SQL

    Ciao a tutti!
    Ho fatto un programmino per il cambiamento dell'indirizzo email di recapito
    di una newsletter.
    Alla fine, per completare l'operazione di update, voglio verificare se
    questa è avvenuta (cioè se l'indirizzo è presente nel DB)tramite un IF (mi
    sembra la strada più semplice, altrimenti accetto consigli volentieri). Se è
    avvenuta, si procede con l'invio di un email di conferma, altrimenti viene
    notificato all'utente che il suo indirizzo email non figura nel DB.

    Cosa metto nella condizione dell'IF per verificare la presenza o meno
    dell'indirizzo?

    Seconda cosa, per fare avvenire la modifica, la procedura è identica a quella di una operazione di selezione sul database? esempio:

    codice:
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSql, con
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    per fare un update non ti serve dichiarare un recordset, perche' non devi riempirlo con dei record. quindi basta che lanci l'istruzione sql senza salvarla in una variabile recordset.

    per quanto riguarda la condizione dell'if.....direi che devi fare prima una select sql, salvare il risultato in un recordset e leggerlo verificando che ci sia l'indirizzo... ma se prima dell'if non hai ottenuto nessun errore dal database a seguito dell'operazione di update non vedo perche' l'indirizzo non debba esserci

  3. #3
    grazie...
    se io prima faccio la verifica della presenza dell'indirizzo con un select, poi verifico se la condizione è vera e procedo in un modo, facendo l'update. Se invece è falsa, stampo un messaggio di errore
    Come ragionamento è corretto?

  4. #4
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    mmmmmmmmm...
    ma scusa hai detto che vuoi verificare se l'indirizzo e' presente nel db, cioe' la correttezza dell'operazione di update... quindi non puoi verificare se l'indirizzo c'e' e DOPO fare l'update, come hai detto

  5. #5
    Originariamente inviato da marco_c
    mmmmmmmmm...
    ma scusa hai detto che vuoi verificare se l'indirizzo e' presente nel db, cioe' la correttezza dell'operazione di update... quindi non puoi verificare se l'indirizzo c'e' e DOPO fare l'update, come hai detto
    no, prima verifico se c'è, poi se c'è faccio l'update, altrimenti mando un messaggio di errore.

  6. #6
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    Originariamente inviato da horace
    no, prima verifico se c'è
    allora non ho capito dove

  7. #7
    Visto che ho provato ma mi da il solito problema (non esegue l'update) posto il codice per capire dove sta l'errore:

    codice:
    	
    'Connect to the database
    Set con = GetDBConnection()
    	
       strSql = "SELECT Email FROM Subscribers WHERE Email = '" +
       Request.Form("vecchiaemail") + "'"
       Set rs = Server.CreateObject("ADODB.Recordset")
       rs.Open strSql, con, 1, 2
          
           if isnull (rs) then
    	  Response.write("<p class=normale_centrato>Il vecchio
              indirizzo e-mail non è presente nella mailing list. Per
              iscriversi, <a href=subscribe.asp>accedere a questa
              pagina</a>.")	
    				
    	else		
    		
    	  'Modifica l'indirizzo email inserendo quello nuovo al dove
              'trova quello vecchio
    
              set tab=Server.CreateObject("ADODB.Recordset")
    	  strSql2 = "UPDATE Subscribers SET Email = '" & request.form
              ("nuovaemail") & "' WHERE Email = '" & Request.Form
              ("vecchiaemail") + "'"
    				
    	  Response.write("<p class=normale_centrato>Modifiche
              avvenute con successo. Arriverà un messaggio di conferma al
              nuovo indirizzo.
    <a href=../index.htm>Torna alla home
              page</a>")
    dopo questa parte ci sono altre procedure per l'invio di email e naturalmente l'END If, ma visto che sono sicuro che funzionano (le ho copiate da altre funzionanti) non le ho postate

  8. #8
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    hai verificato che
    a) i campi vecchiaemail e nuovaemail che prelevi dal form siano letti correttamente? prova a stamparli con write
    b) che entra correttamente nel ramo else? cioe' che valuta false l'istruzione "if isnull (rs) then"? metti un write("eccomi qui") dentro il ramo else e vedi se entra correttamente

  9. #9
    non testare IsNull(rs), ma Rs.EOF

  10. #10
    in effetti non mi caga niente....

    mi scrive (sia in caso di email corretta che sbagliata) solo questa porzione di codice:

    codice:
    Response.write("<p class=normale_centrato>Modifiche
              avvenute con successo. Arriverà un messaggio di conferma al
              nuovo indirizzo.
    <a href=../index.htm>Torna alla home
              page</a>")
    e poi ho provato a scrivere "ciao" prima dell'update e me lo scrive, se gli chiedo di scrivere il contenuto dei 2 campi testo del form non scrive niente, xò ho controllato i nomi dei campi e corrispondono!

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.