Visualizzazione dei risultati da 1 a 8 su 8

Discussione: upload da perfezionare

  1. #1

    upload da perfezionare

    Mi sono personalizzata questo codice per l'update multiplo su database

    codice:
    Dim ConnDown
    Set ConnDown=Server.CreateObject("ADODB.Connection")
    ConnDown.Open "dsn=dati;"
    For i=1 to request("numes")
    
    	myVar2 = "IDut"& CStr(i)
    	myVar3 = "incarico_inizio"& CStr(i)
    	myVar4 = "incarico_fine"& CStr(i)
    	myVar5 = "presso"& CStr(i)
    	myVar6 = "sededi"& CStr(i)
    	myVar7 = "mansioni"& CStr(i)
    
    dim IDut
    IDut = request.form(myVar2)
    dim incarico_inizio
    incarico_inizio = request.form(myVar3)
    dim incarico_fine
    incarico_fine = request.form(myVar4)
    dim presso
    presso = request.form(myVar5)
    dim sededi
    sededi = request.form(myVar6)
    dim mansioni
    mansioni = request.form(myVar7)
    
    Dim SQLDown,RECDown
    SQLDown="select * FROM ut_esper WHERE IDut=" & Session("IDut")
    Set RECDown=ConnDown.Execute(SQLDown)
    IDut=RECDown("IDut")
    SQLDown2="update ut_esper set incarico_inizio='" & incarico_inizio & "' WHERE IDut=" & Session("IDut")
    SQLDown3="update ut_esper set incarico_fine='" & incarico_fine & "' WHERE IDut=" & Session("IDut")
    SQLDown4="update ut_esper set presso='" & presso & "' WHERE IDut=" & Session("IDut")
    SQLDown5="update ut_esper set sededi='" & sededi & "' WHERE IDut=" & Session("IDut")
    SQLDown6="update ut_esper set mansioni='" & mansioni & "' WHERE IDut=" & Session("IDut")
    ConnDown.Execute(SQLDown2)
    ConnDown.Execute(SQLDown3)
    ConnDown.Execute(SQLDown4)
    ConnDown.Execute(SQLDown5)
    ConnDown.Execute(SQLDown6)
    Next
    
    ConnDown.Close()
    Set ConnDown=Nothing
    Tuttavia, se compie il ciclo 3 volte (quindi numes=3), non capisco perchè mi scrive lo stesso record (esattamente l'ultimo) per 3 volte e sovrascrive gli altri 2 con i dati del 3°....
    Che mi sono persa????
    HELP!

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Nessuna idea?
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  3. #3
    Prova ad usare il Upload di Baol che dicono funzioni una meraviglia e fa anche il multi upload

  4. #4
    Vorrei capire perchè il mio codice non va bene prima di andare a scopiazzare da qualche parte!!!!
    Nessuno mi dice dov'è l'errore?
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  5. #5
    1) prova a settare a "" tutte le variabili che usi all'inizio di ogni ciclo

    2) invece di fare 5 update per lo stesso record, fanne una sola che risparmi in tempi di esecuzione

  6. #6
    ci credo che ti fa vedere solo il 3° dei tre update,

    fai l'update sempre sullo stesso record!

    codice:
    SQLDown="select * FROM ut_esper WHERE IDut=" & Session("IDut")
    Set RECDown=ConnDown.Execute(SQLDown)
    IDut=RECDown("IDut")
    qui ti prendi unva variabile IDut che non usi poi per fare gli update
    codice:
    SQLDown2="update ut_esper set incarico_inizio='" & incarico_inizio & "' WHERE IDut=" & Session("IDut")
    nella clausola WHERE us sempre la Session("IDut"). Quindi va a fare l'upodate sempre allo stesso record che ha come IDut Session("idut"). quindi ne vedrai sempre una sola di update, per la precisione l'ultima

  7. #7
    codice:
    SQLDown2="update ut_esper set incarico_inizio='" & incarico_inizio & "' WHERE IDut=" & Session("IDut")
    Questo deve essere per forza fatto così.
    Io devo aggiornare tutti i record che hanno lo stesso IDut!

    Però, se ho 3 record con lo stesso IDut, come faccio a passare al secondo dopo aver uploadato il primo???

    Sto impazzendo!
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  8. #8
    avranno un campo ID univoco oltre all'idut giusto?

    codice:
    stringaSql="select id from nome_tabella where IDut=" & session("IDut")
    
    set rs=Server.createobject("adodb.recordset")
    rs.open stringaSql, connessione,3,3
    
    while not rs.eof 
    
    stringa="update nome_tabella set ....... where id=" & rs("id")
    
    connessione.execute(stringa)
    
    rs.movenext
    wend

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.