Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Unificare messaggi di errore

    Ciao a tutti.

    Eseguo un controllo su alcuni campi di records registrati in un dbase prima che se ne possano aggiungere altri, ed ho scritto così:
    codice:
    Do Until REC.Eof 
    
    If NOT ISNUMERIC(REC("matricola")) OR ISNULL(REC("matricola")) then
    response.write "problema con il numero di matricola" &"
    "
    end if
    
    if NOT ISNUMERIC(REC("anni_servizio")) OR ISNULL(REC("anni_servizio")) then
    response.write "problema con gli anni di servizio" &"
    "
    end if
    
    If REC("cognome") <> "" Then
    
    REC.AddNew
    
    ...
    
    else
      
      response.write "procedura bloccata per errore sul cognome" & "
    "
      
    end if 
    
    REC.MoveNext
    
    Loop 
    
    REC.close    
    set REC=nothing    
    Conn.Close
    Set Conn = Nothing
    Lo script non dà errore e restituisce tutti i response write previsti, ma li stampa per ogni record dove è verificata la condizione.

    Supponiamo che ho tre record in cui tutte le condizioni sono vere, mi ritroverò:
    codice:
    procedura bloccata per errore sul cognome
    problema con il numero di matricola
    problema con gli anni di servizio
    procedura bloccata per errore sul cognome
    problema con il numero di matricola
    problema con gli anni di servizio
    procedura bloccata per errore sul cognome
    problema con il numero di matricola
    problema con gli anni di servizio
    non sarebbe possibile invece avere un unico messaggio di avviso errore?

    Spero d'essere stato chiaro.

    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Invece di stampare, attiva una variabile:
    codice:
    ...
    ...
    else
      
      bolErrorCognome = true
      
    end if 
    ...
    ...
    
    
    Dopo il Loop
    
    if bolErrorCognome then  
      response.write "procedura bloccata per errore sul cognome" & "
    "
    end if 
    ...
    ...

    Roby

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie Roby, la tua soluzione risolve al 50% il problema, infatti adesso mi ritrovo a video solo per una volta stampato:
    codice:
    procedura bloccata per errore sul cognome
    rimane il problema:
    codice:
    problema con il numero di matricola
    problema con gli anni di servizio
    che si stampa n_volte quanti sono i records incompleti...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559


    Era chiaro che dovessi farlo per tutti... attivando
    bolErrorMatricola
    bolErrorAnniServizio
    ecc..

    Roby

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Roby_72


    Era chiaro che dovessi farlo per tutti... attivando
    bolErrorMatricola
    bolErrorAnniServizio
    ecc..

    Roby
    Perdonami Roby... sono un impulsivo...

  6. #6
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    OK Roby, adesso stampa il msg solo una volta, ma perchè invece di bloccare
    codice:
    REC.AddNew
    , mi registra i records completi?
    Dovrebbe fermarsi al primo errore e rinviare al msg... :master:

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questo è quello che vorresti, non quello che gli hai detto di fare!

    Roby

  8. #8
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Roby_72
    Questo è quello che vorresti, non quello che gli hai detto di fare!

    Roby
    Si, grazie...

    1) come scrivo la condizione "se c'è un errore" non aggiungere records al dbase?

    2)i records di origine vengono controllati, prima di essere scritti sul dbase, da un listato precompilato del tipo "listato.csv" (associato ad excel) quindi con un numero di righe variabile e che possono essere vuote, non per errore ma perchè in realtà non esistono... cos' come abbiamo impostato lo script asp comunque segnalerebbe anomalia... esiste una soluzione?

    Grazie.

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    1) Io farei una query SQL... Non userei addnew
    2) No.

    Roby

  10. #10
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Potrei anche utilizzare la query, ma se poi restituisce sempre errore perchè il controllo lo faccio sul file .csv

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.