32 messaggi dal 08 maggio 2002
Devo recuperare l'id del record appena aggiunto alla mia tabella.
qualcuno sa darmi una dritta ?
grazie

ciao

thnx

NIN RULES

ciiiiiiii

thnx

NIN RULES

ciiiiiiii
52 messaggi dal 21 gennaio 2002
Se per aggiungere un record lo fai utilizzando i metodi dell'oggetto Recordset (.AddNew .Update), subito dopo l'AddNew puoi leggere il valore TuoRecorset.CampoId

Se lo fai con l'esecuzione di un SQL, recuperare l'id è molto più complesso.

Ciao!


bulabula
32 messaggi dal 08 maggio 2002
nn uso recordset poichè sto crando una classe .NET e ho la stringa sql dentro ad un metodo che deve restituire l'ID...
mi sa che l'opzione che mi interessa è quella complessa...

ciao

thnx

NIN RULES

ciiiiiiii

thnx

NIN RULES

ciiiiiiii
5 messaggi dal 06 settembre 2002
se il db è sql server vediti questo link

http://www.4guysfromrolla.com/webtech/tips/t122600-1.shtml

se il db è access vediti quest'altro

http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79

usano ancora i recordset ma non penso che con .net dovrebbe essere poi molto diversa la storia...
52 messaggi dal 21 gennaio 2002
Come dicevo io facevi tutto in una volta.
Con SQL devi fare in due volte.
Con la prima istruzione SQL crei il record, inserendo i tuoi dati.
Poi devi fare un'altra istruzione SQL trovare l'id del record che contiene i dati che hai appena inserito.

Ad es.

SQL1: INSERT INTO amici (nome, cognome) VALUES ('Mario', 'Rossi)

SQL2: SELECT id FROM amici WHERE nome='Mario" AND cognome='Rossi'

Ricorda che però nelle WHERE devi inserire tutti i campi che identificano univocamente i record (ad es. quelli che compongono un'eventuale chiave composta).

Ciao!


bulabula
32 messaggi dal 08 maggio 2002
ci avevo pensato anch'io, ma purtroppo l'id è l'unico campo che mi identifica univocamente il record al 100%...

grazie comuque ad entrambi

thnx

NIN RULES

ciiiiiiii

thnx

NIN RULES

ciiiiiiii
Apri la connessione in modo esplicito creando l' istanza dell' oggetto recordset e usa questi parametri:

rs.open "tabella", connessione,1,2
rs.AddNew
rs("campo")=valore
...
rs.Update
CurrentID=rs("ID")
rs.close


---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
10 messaggi dal 07 maggio 2001
Ciao.

Uno dei metodi (non proprio... come dire) per recuperare l' ID di un campo appena inserito, sia quello di eseguire l'inserimento normalmente, chiudere l'oggetto rs appena usato con nothing e riarpire il recordset ordinando cosi, "SELECT... ORDER BY ID DESC".

Questo metodo puo essere efficacie in presenza di un contattore, come sembra sia nel tuo caso.

Naturalmente per evitare spiacevoli inconvenienti metti all'inizio di queste operazioni il comando "application.lock" e alla fine, dopo che hai chiuso il secondo recordset "application.unlock".

Ciao, buon lavoro!



Neonet

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.