Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [MYSQL] Query-based update failed because the row to update could not be found

    Come da oggetto, quando vado a fare un operazione di update su alcune tabelle del mio database mysql, viene generato questo errore.

    utilizzo la sintassi:
    sql = "SELECT * FROM tabella WHERE id=" & id_riga_da_aggiornare
    esegui sql, conn, rs

    rs("dato1") = "nuovo_dato_1"
    rs("dato2") = "nuovo_dato_2"

    rs.update
    rs.close

    la cosa strana è che su circa 40 tabelle che compongono il database fatte tutte con lo stesso criterio e nello stesso momento, solo 3-4 di esse, quando devono essere aggiornate, generano questo errore.
    inoltre, lo stesso codice su database access viene eseguito correttamente.

    avete qualche esperienza di questo tipo?
    io sono veramente in seria difficoltà...
    grazie
    Luca
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

  2. #2
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483

    Re: [MYSQL] Query-based update failed because the row to update could not be found

    Originariamente inviato da angel80
    Come da oggetto, quando vado a fare un operazione di update su alcune tabelle del mio database mysql, viene generato questo errore.

    utilizzo la sintassi:
    sql = "SELECT * FROM tabella WHERE id=" & id_riga_da_aggiornare
    esegui sql, conn, rs

    rs("dato1") = "nuovo_dato_1"
    rs("dato2") = "nuovo_dato_2"

    rs.update
    rs.close

    la cosa strana è che su circa 40 tabelle che compongono il database fatte tutte con lo stesso criterio e nello stesso momento, solo 3-4 di esse, quando devono essere aggiornate, generano questo errore.
    inoltre, lo stesso codice su database access viene eseguito correttamente.

    avete qualche esperienza di questo tipo?
    io sono veramente in seria difficoltà...
    grazie
    Luca
    cambia metodo di aggiornamento usa la sintassi SQL....

    update tabella set campo1='campo1' etc,etc

  3. #3
    e poi come faccio? la eseguo come se fosse una "select"?
    una cosa importante che riuscivo a fare con il mio metodo era che, se err.number era diverso da 0, non facevo l'rs.update e quindi non venivano registrate le modifiche.
    posso fare qualcosa di simile anche con una query di update?

    e poi ti faccio una domanda: secondo te perchè il metodo che ho sempre utilizzato ha sempre funzionato su mysql e non funziona solamente con pochissime tabelle? non c'è qualche impostazione da settare nelle tabelle... qualsiasi cosa... che mi consenta di tenere il mio vecchio metodo?

    comunque grazie per il consiglio
    Luca
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Io ho avuto lo stesso problema con oracle con qualche differenza ma stesso errore.

    1. Eseguivo una cancellazione e non un update
    2. Cancellavo una tabella attraverso una vista per effettuare dei controlli(quindi non facevo una select diretta della tabella)

    Ho risolto mettendo la select diretta sulla tabella , togliendo quindi la vista.

  5. #5
    in una occasione ho avuto anch'io lo stesso tuo problema tentando di cancellare un record da una tabella, ma io, a differenza di te, non avevo usato viste. agivo direttamente sulla tabella.
    sai dirmi qualcosa?
    Appartamenti in affitto nella riviera Romagnola - Cervia, Milano Marittina, Pinarella, Tagliata, Lido di Classe, Lido di Savio. www.cervia-affitti.com

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    No, mi dispiace. Mi è accaduto proprio qualche ora fa, e l'unica soluzione travata è stata quella che ti ho descritto.

    Ti aggiungo un'altro particolare. Se effettuavo la cancellazione di un solo record non mi retituiva alcun errore. Solo cancellado più di un record mi veniva restituito l'errore "Query-based update failed because the row to update could not be found"

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 © 2026 vBulletin Solutions, Inc. All rights reserved.