Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    Verificare la presenza di valori nel database

    Ciao

    dovrei verificare una serie di valori se sono presenti nel db e poi fare l'insert a seconda dei casi.

    Per verificare intendo controllare se nel db c'è l'ID della squadra l'ID della "Longobarda", es. ID=10 e se la stessa è, ad es., nel GIRONE: B, quindi procedere col controllo.

    Il problema è che non sono + sicuro di come si faccia il confronto tra valori.

    Il mio codice è questo:

    codice:
    id_squadra_1=trim(replace(id_squadra, ",", "."))
    
    	'Dichiaro il recordset
    	Dim rs_classifica
    	'Creo il recordset
    	Set rs_classifica = Server.CreateObject("ADODB.Recordset")
    	'Dichiaro la stringa Sql
    	Dim sql_classifica
    	'Creo la stringa Sql.
    	sql_classifica = "SELECT * from TabClassifica" 'where ID_TORNEO = "&id_v&" order by NOME_SQUADRA asc"
    	rs_classifica.Open sql_classifica, cn, 1, 3
    	
    if not rs_classifica.eof then
    	id_torneo_in_classifica_v = rs_classifica("ID_TORNEO")
    	id_squadra_in_classifica_v = rs_classifica("ID_SQUADRA")
    	girone_in_classifica_v = rs_classifica("GIRONE")
    	
    Dim sql_classifica_1
    
    if id_squadra_1 = id_squadra_in_classifica_v and girone = girone_in_classifica_v  then
    	response.Write("Squadra_1 già presente in classifica!")
    elseif id_squadra_1 = id_squadra_in_classifica_v and girone <> girone_in_classifica_v then
            sql_classifica_1 ="INSERT INTO TabClassifica ..."
    elseif id_squadra_1 <> id_squadra_in_classifica_v and girone = girone_in_classifica_v then
            sql_classifica_1 ="INSERT INTO TabClassifica ..."
    
    'esegue la connessione SQL
    cn.Execute(sql_classifica_1)
    'response.Flush()
    End if
    end if 'rs_classifica.eof
    Invio i dati ma non fa l'insert ma le varibili sono valorizzate correttamente, dove sbaglio?

  2. #2
    ma il problema è il confronto o la insert?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non direi sbagli, più che altro non consideri che siano diversi sia id_squadra che il girone cioè non hai messo if id_squadra_1 <> id_squadra_in_classifica_v and girone <> girone_in_classifica_v then nelle condizioni d'inserimento e se non inserisce nulla ritengo che sia per questo motivo, risolvi inserendo quella condizione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    allora ho scoperto che non è il controllo a dare problemi ma il recupero delle variabili!

    SEGUITEMI BENE PERCHè QUESTA è DA NON CREDERE!

    La pagina a cui vorrei inserire il controllo è un inserisci calendario di partite di calcio che composto da questi campi:

    TextBox -->Numero Giornata: es.1
    Select --> Fase a: es. GIRONI
    TextBox --> Girone:es. A
    Select: Squadra_1 e Squadra_2: es. Rossi vs Blu

    Utilizzando questo controllo:

    codice:
    <%
    id_torneo_in_classifica_v = rs_classifica("ID_TORNEO")
    id_squadra_in_classifica_v = rs_classifica("ID_SQUADRA")
    girone_in_classifica_v = rs_classifica("GIRONE")
    %>
    
    if id_squadra_1 <> id_squadra_in_classifica_v and girone <> girone_in_classifica_v then
    sql_classifica_1 ="INSERT INTO TabClassifica
    end if
    ...e facendo l'inserimento di questa partita:

    codice:
    1
    GIRONI
    A 
    Rossi vs Blu
    l'inserimento in calendario della partita va a buon fine e la squadra Rossi viene inserita correttamente in classifica( x ora parlo solo della squadra_1, cioè quella di sinistra, xchè sto lavorando sul controllo squadra_1. Poi quando risolvo il controllo di squadra_1 farò anche quello per squadra_2).

    Ripetendo lo stesso inserimento con numero giornata 2, cioè:

    codice:
    2
    GIRONI
    A 
    Rossi vs Blu
    l'insert. in calendario è sempre ok e l'insert in classifica, GIUSTAMENTE, non viene fatto xchè la squadra Rossi è già presente con Girone A.

    Facendo l'ultimo inserimento così:

    codice:
    3
    GIRONI
    B 
    Rossi vs Blu
    l'insert. in calendario è sempre ok e l'insert in classifica viene eseguito xchè la squadra dei Rossi non è presente con Girone B.

    Ebbene se faccio queste 3 prove con il nome della squadra BAR AIRONE mi scombina tutti gli inserimenti facendoli al contrario, cioè:

    se cè già in TabClassifica BAR AIRONE con Girone A e faccio un altro inserimento di BAR AIRONE con Girone sempre A, il record viene eseguito!..quindi inserisce sempre BAR AIRONE indipendetemente dal GIORONE xchè non lo calcola +!

    Forse il sistema riconosce in BAR AIRONE il termine ONE e lo intepreta come numero ed incasina tutto???

    Cmq provo a postarvi il codice schematizzato della mia pagina:


    codice:
    <%
    	'Recordset per recuperare valori squadra
    	Dim rs
    	Set rs = Server.CreateObject("ADODB.Recordset")
    	Dim sql
    	sql = "SELECT * from TabConfigTorneo where ID_TORNEO = "&id_v&" order by NOME_SQUADRA asc"
    	rs.Open sql, cn, 1,3
    %>
    
    <% if rs.eof Then %>
    
    <form id="form"...>
    
        <%  'Recordset per confrontare i valori squadra che sono in TabClassifica
    	Dim rs_classifica
    	Set rs_classifica = Server.CreateObject("ADODB.Recordset")
    	Dim sql_classifica
    			
    	sql_classifica = "SELECT * FROM TabClassifica where id_torneo = "&id_v&" order by nome_squadra asc"
    
    	rs_classifica.Open sql_classifica, cn, 1, 3
        %>
    
        <% If not rs_classifica.eof Then %>
    	<%
                id_torneo_in_classifica_v = rs_classifica("ID_TORNEO")
                id_squadra_in_classifica_v = rs_classifica("ID_SQUADRA")
                girone_in_classifica_v = rs_classifica("GIRONE")
    	%>
    
               <input type="hidden" name="id_torneo_in_classifica_v" id="id_torneo_in_classifica_v" value="<%=id_torneo_in_classifica_v%>"/>
               <input type="hidden" name="id_squadra_in_classifica_v" id="id_squadra_in_classifica_v" value="<%=id_squadra_in_classifica_v%>"/>
               <input type="hidden" name="girone_in_classifica_v" id="girone_in_classifica_v" value="<%=girone_in_classifica_v%>"/>
        <% End If' Controllo rs_classifica.eof %>
        
    <% End If' Controllo rs.eof %>
    
    </form>
    <% End If' Controllo rs.eof %>
    
    <%
    if request.querystring("update")="add" then
    
    Dim sql_calendario
    sql_calendario = "INSERT INTO TabCalendario..."
    cn.Execute(sql_calendario)
    
    Dim sql_classifica_1
    
    if id_squadra_1 = id_squadra_in_classifica_v and girone = girone_in_classifica_v then
        response.Write("Squadra_1 già presente in classifica!")
    elseif id_squadra_1 <> id_squadra_in_classifica_v and girone <> girone_in_classifica_v then
        sql_classifica_1 ="INSERT INTO TabClassifica..."
    
    cn.Execute(sql_classifica_1)
    
    End if
    
    end if' FINE CONTROLLO ("update")="add" %>

  5. #5
    lo confesso, a un certo punto ho abbandonato....

    comunque, se non sei sicuro di come venga fatto un confronto del tipo

    IF a=b THEN ...

    fatti stampare i termini del confronto *prima* di eseguire la IF

    Response.Write "MaGGico A...: " & a & "
    "
    Response.Write "MaGGico B...: " & b & "
    "
    Response.Flush
    IF a=b THEN ...




  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    l'ho fatto:

    codice:
    Response.Write "°°° id_v...: " & id_v & "
    " & "
    "
    Response.Write "°°° id_torneo_in_classifica_v...: " & id_torneo_in_classifica_v & "
    "
    
    Response.Write "°°° id_squadra_1...: " & id_squadra_1 & "
    " & "
    "
    Response.Write "°°° id_squadra_in_classifica_v...: " & id_squadra_in_classifica_v & "
    "
    
    Response.Write "°°° girone...: " & girone & "
    " & "
    "
    Response.Write "°°° girone_in_classifica_v...: " & girone_in_classifica_v & "
    "
    
    Response.Flush ()
    e tutte quelle variabili vengo valorizzate con tutte le squadre, non con BAR AIRONE.

    Cmq penso di aver scritto male il codice e che BAR AIRONE sia un caso!

    Se volete posto o vi inivio il codice di questa pagina, non ho problemi!

    E' da 4 giorni che sono fermo su questo punto senza capirne il motivo.

  7. #7
    Originariamente inviato da Pierhagi
    e tutte quelle variabili vengo valorizzate con tutte le squadre, non con BAR AIRONE.
    non capisco... che vuol dire?

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da Pierhagi
    ...
    Se volete posto o vi inivio il codice di questa pagina, non ho problemi!

    E' da 4 giorni che sono fermo su questo punto senza capirne il motivo.
    Ecco posta un link alla pagina demo online cosi da vere qualcosa di tangibile dove si vedo le variabili i confronti, una sorta di pagina degug
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Citazione:
    Originariamente inviato da Pierhagi
    e tutte quelle variabili vengo valorizzate con tutte le squadre, non con BAR AIRONE.

    non capisco... che vuol dire?
    vuol dire che le variabili ricevono i valori.

    Ho creato le pagine di prova:

    inserimento:
    inserimento calendario

    per vedere l'inserimento avvenuto della partita in calendario e per eliminare i record inseriti:
    visualizza_ed_elimina_calendario

    per vedere l'inserimento della squadra in classifica e per eliminare i record inseriti:
    visualizza_ed_elimina_classifica

    Se non l'inserimento del BAR AIRONE non da problemi, vi prego di controllare il codice.

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Come non detto troppo complessa si deve capire logica e concetto, lascio al mitico optime, ma in caso di soluzione sii generoso "una birretta doppia" (vedi firma optime)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.