Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Non modifica i record

  1. #1

    Non modifica i record

    Salve. Ho una funzione che mi aggiorna un recordset e una che me lo aggiunge, in base ai dati forniti dall'utente in una form.

    Per quanto riguarda l'inserimento di nuovi record non ci sono problemi.

    Con l'aggiornamento invece proprio non ci riesco.

    Questa è la funzione:
    codice:
    sub ModificaEvento
    call ResetSession
    call FormToSession
    if ControllaDati then
    	Dim Conn, Sql, rs
    	Call AproConnessione(StrConn, Conn)
    	Sql = "UPDATE TBawards SET "
    	Sql = Sql &" [Winner] = '"& Replace(Session("Winner"), "'", "''") &"'"
    	Sql = Sql &", [Loser] = '"& Replace(Session("Loser"), "'", "''") "'"
    	Sql = Sql &", [Result] = '"& Replace(Session("Result"), "'", "''") &"'"
    	Sql = Sql &", [Score] = '"& Replace(Session("Score"), "'", "''") &"'"
    	Sql = Sql &", [CommentoIT] = '"& Replace(Session("CommentoIT"), "'", "''") &"'"
    	Sql = Sql &", [CommentoEN] = '"& Replace(Session("CommentoEN"), "'", "''") &"'"		
    	Sql = Sql &", [Map1] = '"& Replace(Session("Map1"), "'", "''") &"'"
    	Sql = Sql &", [Map2] = '"& Replace(Session("Map2"), "'", "''") &"'"
    	Sql = Sql &", [Map3] = '"& Replace(Session("Map3"), "'", "''") &"'"
    	Sql = Sql &", [GameType] = '"& Replace(Session("GameType"), "'", "''") &"'"
    	Sql = Sql &", [Gioco] = "& Session("Gioco")
    	Sql = Sql &", [Data] = "& Session("Data")
    	Sql = Sql &" WHERE [IDmatch] = "& Request("IDmatch")
    	set rs = Conn.execute(Sql)
    	set rs = Nothing
    	Call ChiudoConnessione(Conn)
    	call ResetSession
    	call tornaAllaLista
    end if
    end sub
    Però non funziona.
    Mi viene restituito un errore:

    Microsoft JET Database Engine error '80040e14'
    Syntax error (missing operator) in query expression '[IDmatch] ='.
    /gestore/modificaAward.asp, line 191

    dove la linea 191 è:
    set rs = Conn.execute(Sql)

    Come mai non funziona?

    Grazie mille, non riesco ad uscirne fuori...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    IDmatch e un campo numerico, testo?

    se la risposta e si


    Prova a modificarla cosi:

    Sql = Sql &" WHERE [IDmatch] = '"& Request("IDmatch") & "'"


    Ciao

    P.S.

    alla prima riga sql non vedo la virgola e regolare?

    Sql = Sql &" [Winner] = '"& Replace(Session("Winner"), "'", "''") &"'"
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Scusate ma avevo sbagliato 3d

  4. #4
    Il campo IDmatch è un campo numerico indicizzato (la chiave primaria), quindi non ci dovrebbero volere le virgolette.

    Per quanto riguarda la virgola invece dovrebbe andare bene senza, visto che è il primo campo e non ci vuole la virgola prima.

    Nessun altro suggerimento sulla possibile causa dell'errore?

    Grazie

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da pictor
    Il campo IDmatch è un campo numerico indicizzato (la chiave primaria), quindi non ci dovrebbero volere le virgolette.

    Per quanto riguarda la virgola invece dovrebbe andare bene senza, visto che è il primo campo e non ci vuole la virgola prima.

    Nessun altro suggerimento sulla possibile causa dell'errore?

    Grazie
    Scusa ma hai provato comunque la mia soluzione?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Con la tua soluzione mi dice:

    Data type mismatch in criteria expression.

    Infatti non è compatibile. Non è una stringa

  7. #7
    Controlla perchè IDmatch non viene passato dal form...........
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    Dato il messaggio di errore restituito, se provi a farti stampare la query scrivendo

    codice:
    response.write(sql):response.end
    prima di eseguirla, cioè immediatamente prima dell'istruzione

    codice:
    set rs = Conn.execute(Sql)
    dovresti vedere qualcosa tipo

    codice:
    UPDATE TBawards ecc. ecc. bla bla WHERE IDmatch=
    e niente altro.......se è così significa che

    codice:
    Request("IDmatch")
    è vuota.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    E poi mancava una "&" in questa riga:
    codice:
    Sql = Sql &", [Loser] = '"& Replace(Session("Loser"), "'", "''") &  "'"
    quella in rosso.......
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.