Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    53

    id record appena aggiunto

    Dopo aver eseguito l'update di un record, di una addNew, ho la necessità di recuperare il valore della chiave (contatore) appena aggiunto.

    L'unico modo è quello di chiudere il record, ricreare la select, andare alla fine (rd.moveLast), memorizzarmi il valore e richiudere il record.

    C'è un modo più veloce senza dovrer ricreare il recordset?

    Grazie.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    SELECT @@IDENTITY FROM tabella
    Apri il recordset e in rs(0) hai l'id aggiunto.

    Roby

  3. #3
    Utente di HTML.it L'avatar di Tuco
    Registrato dal
    Sep 2005
    Messaggi
    199
    in teoria se aggiungi un record e fa parte della select lo trovi al volo leggendo l'id. Il cursore del db è già posizionato sull'ultimo record (quello appena inserito), quindi puoi leggere subito tutto del nuovo record (ovviamente anche l'id)
    Il mondo si divide in due categorie: chi ha la pistola carica e chi no...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    53
    @ roby: ma devo aprire un altro recordset con quella sintassi, o lo accodo dopo una insert (non sono una cima in SQL)?

    @ tuco:
    codice:
     
      set rd = createRd("select clienti.* from clienti", cn)
      rd.addNew
      .
      .
      .
      rd.update
      id = rd("cliId")     ' chiave contatore
      rd.close
    id = null!
    Io pensavo di fare così, ma non funziona.

  5. #5
    Utente di HTML.it L'avatar di Tuco
    Registrato dal
    Sep 2005
    Messaggi
    199
    Originariamente inviato da A\|dR3\V
    @ roby: ma devo aprire un altro recordset con quella sintassi, o lo accodo dopo una insert (non sono una cima in SQL)?

    @ tuco:
    codice:
     
      set rd = createRd("select clienti.* from clienti", cn)
      rd.addNew
      .
      .
      .
      rd.update
      id = rd("cliId")     ' chiave contatore
      rd.close
    id = null!
    Io pensavo di fare così, ma non funziona.
    hai provato a fare una movelast?
    Il mondo si divide in due categorie: chi ha la pistola carica e chi no...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    53
    si... con il movelast si posiziona all'ultimo record, ma non a quello appena aggiunto, praticamente a quello prima del nuovo.

  7. #7
    Utente di HTML.it L'avatar di Tuco
    Registrato dal
    Sep 2005
    Messaggi
    199
    Originariamente inviato da A\|dR3\V
    si... con il movelast si posiziona all'ultimo record, ma non a quello appena aggiunto, praticamente a quello prima del nuovo.
    allora dopo aver chiamato l'update usa il metoto requery del RS. In questo modo viene rieseguta l'istruzione di aperrtura e per forza il dato appena inserito ci deve essere.
    Il mondo si divide in due categorie: chi ha la pistola carica e chi no...

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.