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

    SQL: incrementare di 1 il valore di un campo numerico

    Ho bisogno di aprire un database, cercare un determinato record, e incrementare di 1 il valore di un campo. Si può fare tutto con un unica riga di codice? cioè, qualcosa tipo (non so se è giusto):

    sql = "UPDATE news SET commenti=commenti+1 WHERE codicenews='"&codenews&"'"


    [ 'commenti' è il campo, numerico, che deve essere incrementato di 1 ]

    ?
    Where there is a will, there is a way

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Secondo quali criteri cerchi questo record ?
    A cosa ti serve incrementare il valore del campo commenti ?
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    Originariamente inviato da viki1967
    Secondo quali criteri cerchi questo record ?
    A cosa ti serve incrementare il valore del campo commenti ?
    il criterio è quello che ho scritto (codicenews), mi serve incrementare di una unità il campo commenti. Anzichè aprire il database, leggere il valore, richiuderlo, riaprirlo per aggiornare il campo commenti, mi chiedevo se si poteva fare tutto con un'unica riga..
    Where there is a will, there is a way

  4. #4
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Originariamente inviato da szannotti
    il criterio è quello che ho scritto (codicenews), mi serve incrementare di una unità il campo commenti. Anzichè aprire il database, leggere il valore, richiuderlo, riaprirlo per aggiornare il campo commenti, mi chiedevo se si poteva fare tutto con un'unica riga..
    Se uno fa le domande è perchè si vorrebbe capire la necessità per eventualmente proporre soluzioni alternative, cmq secondo me non puoi in un'unica riga:

    codice:
    <%
    
    sql = "SELECT * FROM news WHERE codicenews='"&codenews&"'"
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, objconn
    
    commenti = rs("commenti")
    
    strSQL = "UPDATE news SET commenti = "& (commenti) + 1 &" WHERE codicenews='"&codenews&"'"
    objconn.execute (strSQL)
    
    
    rs.close
    set rs = nothing
    
    objconn.close
    set objconn = nothing
    
    %>
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  5. #5
    Ti ringrazio: non ci crederai ma la stringa che ho postato all'inizio era giusta (e pensare che l'ho buttata li..):

    ...SET commenti=commenti+1 WHERE...

    Utile in futuro, direi!
    Where there is a will, there is a way

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.