Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    12

    Controllo record su tabella prima di scrittura

    Salve, ho una tabella con una lista di eventi che hanno un proprio ID e ho una seconda tabella con un elenco di persone.
    Ho costruito una pagina che, dopo aver scelto uno degli eventi, da la possibilità di scegliere ad ogni persona se aderirà o meno all'evento stesso tramite una dropdown con SI o NO.
    Ora io devo andare a scrivere la scelta di ogni persona in una terza tabella dove ho le colonne ID, IDpersona, IDevento e Scelta.
    Funziona, nel senso che faccio un INSERT nella tabella delle persone che hanno scelto SI, ma il problema è che se ritorno sulla pagina di scelta e riseleziono SI per una persona che aveva già scelto SI, me la inserisce nuovamente con un altro ID... quindi ho dei duplicati per lo stesso evento.
    Come posso fare un controllo sui campi per dirlgi..se questa tal persona ha già detto SI a tal evento.. non scrivere nulla. In caso contrario (quindi in caso scelga NO).. se non è in elenco non fare nulla...se invece c'è.. eliminala dalla tabella.
    Spero sia chiaro. Grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    esattamente come hai detto.

    verifica se il valore è già stato inserito.
    poi, prima di fare modifiche, controlla il valore e agisci di conseguenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    12
    Grazie per la risposta.
    Però non ho proprio idea di come andare a verificare perchè devo recuperare i dati dalla tabella delle persone
    gestendo il tutto con un ciclo.

    Nella pagina dove scelgo SI o NO io creo i campi con un ciclo tipo

    while not RS.EOF
    a=a+1

    In modo che ogni persona abbia un ID che sia IDPERSONA1, IDPERSONA2, IDPERSONA3 ecc...e la dropdown che si chiami SCELTA1, SCELTA2, SCELTA3 ecc...
    Iin modo poi da aggiornare la tabella con un pulsante unico di conferma.

    Infatti nella pagina seguente... dove mi arrivano i dati... in pratica io vado a fare l'insert così

    Personetotali = request.form("TOT") //Questa mi arriva dalla pagina precedente

    for a= 1 to Personetotali

    sqlString = "INSERT INTO Adesioni (IDPERSONA,IDEVENTO,SCELTA) VALUES ('"& Request.Form("IDPERSONA"&a) &"','"& Request.Form("IDEVENTO") &"','"& Request.Form("SCELTA"&a) &"')"

    In questo modo per ogni persona vado a insertare la propria scelta.

    Per verificare che la persona esista già devo creare un secondo Recordset che peschi dal database PERSONE e fare un cofronto?

    Non riesco porpio a capire il meccanismo

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    12
    Ho risolto. In realtà era più semplice del previsto. Ho fatto un controllo sulla tabella stessa e con un if se esiste faccio un Update.. altrimenti un Insert. Era un blocco mentale il mio..eheh
    Grazie.

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.