Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Aiuto su lock table

  1. #1

    Aiuto su lock table

    Ciao a tutti,
    ho un problemino che non sono ancora riuscito a risolvere.

    In pratica mi succede questo, un utente puo cliccare 1 volta al giorno un certo link, dopo di che il link sparisce; fin qui tutto bene, il passaggio che faccio è:

    click
    verifico sul db se è stato cliccato nelle ultime 24 ore
    se non è stato cliccato faccio un insert
    rimando alla pagina con l'ok

    Purtroppo, se un'utente clicca in maniera molto rapida, vengono fatte 2 insert o anche più....

    Ho provato a usare il lock table, ma non funziona, il codice è questo:

    - LOCK TABLES tabelle WRITE
    - SELECT campo FROM tabella WHERE ...
    If Not Rs.EoF Then
    - insert
    else
    - è già stato cliccato
    end if
    - UNLOCK TABLES


    Anche nel secondo caso, mi capitano alcuni casi di click doppi.

    Dove sbaglio?

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Innanzitutto, che db usi?

    In genere il lock di una tabella accade, se su questa tabella rimango "appese" delle operazioni di altre sessioni, che prevedono modifice (quindi escluse le select).

    In pratica se fai update, delete o insert e non esegui la commit oltre a "vedere" le modifiche sono in quella sessione, le altre sessioni che proveranno ad accedere a quella tabella, la troveranno in stato di lock.

    In definitiva, prova così...

    - LOCK TABLES tabelle WRITE
    - SELECT campo FROM tabella WHERE ...
    If Not Rs.EoF Then
    - insert
    commit;
    else
    - è già stato cliccato
    end if
    - UNLOCK TABLES

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.