Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    Sapere prossimo ID da inserire

    Ciao.

    Ho fatto una ricerca sul forum e sembra che con asp non sia possa risalire al numero del prossimo ID che verrà registrato nella tabella di un db access.

    Qualcuno proponeva ultimoIDInserito+1, ma se sono intervenute delle cancellazioni di records nella tabella non si sballa il calcolo?

    Confermate?

    Grazie

  2. #2
    'il prossimo' è quanto di più aleatorio possa esistere. puoi però conoscere quello appena inserito, con @@IDENTITY

  3. #3
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    quindi il numero estratto dalla select identity + 1 ?

  4. #4
    no. non funziona così. ma prima di impazzire, pls, mi dici a cosa ti serve?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da wegawhite
    quindi il numero estratto dalla select identity + 1 ?
    Ti sei risposto da solo in apertura di discussione.
    Se il campo è contatore non c'è soluzione assoluta.
    Altrimenti imposta il campo come numerico e mettilo in chiave.
    In quel caso puoi sempre sapere quale sarà il prossimo id.
    Ma: ne vale la pena?

    Roby

  6. #6
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Originariamente inviato da optime
    no. non funziona così. ma prima di impazzire, pls, mi dici a cosa ti serve?
    Mi serve per passare il prossimo id ad una funzione che deve eseguire un determinato numero di operazioni; ho già fatto qualche prova ed ho visto che la select identyti funziona soltanto dopo una query insert into mentre se la utilizzo in un contesto diverso il risultato è sempre zero.

  7. #7
    Originariamente inviato da wegawhite
    Mi serve per passare il prossimo id ad una funzione che deve eseguire un determinato numero di operazioni; ho già fatto qualche prova ed ho visto che la select identyti funziona soltanto dopo una query insert into mentre se la utilizzo in un contesto diverso il risultato è sempre zero.
    infatti la identity restituisce l'ultimo id inserito in quel contesto...altrimenti dovresti fare select max(Id) e dare +1 a quello...però secondo me se devi fare queste cose metti il campo ID in numerico e daglielo te l'id

  8. #8
    Originariamente inviato da wegawhite
    Mi serve per passare il prossimo id ad una funzione che deve eseguire un determinato numero di operazioni; ho già fatto qualche prova ed ho visto che la select identyti funziona soltanto dopo una query insert into mentre se la utilizzo in un contesto diverso il risultato è sempre zero.
    non so a cosa serva il giro che fai, però tieni presente che "il prossimo" è aleatorio. nel senso che se un altro utente - mentre tu fai il giro - fa un inserimento, ecco che "il prossimo" non è più quello. prendi in considerazione la possibilità di "prenotare" un id (fai un inserimento, pronto a cancellarlo) e di ragionare con quello che ti restituisce @@IDENTITY

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.