Newsgroup: it.comp.www.asp
Titolo: id ultimo Record creato

Ho fatto un INSERT INTO di un record in una tabella di Access tramite una
pagina ASP
Subito dopo devo andare a inserire l'id dell'ultimo record creato in
un'altra tabella.
Avete un esempio di codice che mostri come fare?
INSERT nuovorecord INTO primatabella...
??? recupero ultimo id ???
INSERT ?id? INTO altratabella...

 un'altra tabella.
Forse questo ti può servire....
http://objectsharp.com/Blogs/bruce/articles/210.aspx
Ciao
Maurizio

Maurizio A. ha scritto:

Si questo va bene nel caso si usino le stored procedure.
Alrtrimenti io ho sempre usato Max(Id), certo non è molto
ortodosso lo sò ma non ho mai trovato niente di meglio usando
solo ASP :-)
Laura
-- 
Inviato da Virgilio 
http://newsgroup.virgilio.it
Filtra gli antipatici, segnala le risposte, segue i thread, e tutto da web

 >
SELECT CampoID FROM tabelladoveprenderelultimoID ORDER BY CampoID
(se usi MySql puoi aggiungere LIMIT 0,1 per estrapolare solo 1 record)
rs.open Sql, Conn...
record = rs.fields(0).value
INSERT INTO secondatabella (campoIDdainserire) VALUES (record)
a okkio dovrebbe essere buono :)
ciao

A occhio prende l'ultimo record creato.
Il problema si presenta quando un utente fa un inserimento, un altro anche,
poi il primo utente cerca di aggiornare l'ultimo record modificato (da lui
stesso)
Trova quello modificato dal secondo utente se cerco il più alto!

 stesso)
Prova a cercare begintransaction/committransaction con google, ho letto che
è stato introdotto anche in access (credo >=2000).
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

Provo e vi faccio sapere. Sarebbe interessante (utile più che altro)
-- 
Armand Federico
___________________________ _ _
Frazione Moulin 67
11010 AYMAVILLES (AO)
Tel.: 0165.923907 - Cell.: 338.7633330
www.armand.it
  - 
in...@armand.it

 stesso)
BeginTransaction e CommitTransaction come ti è stato sugerito, ma se hai un
db su access 97 dovresti provare con i lock a livello record, che ora nn
ricordo..ho abbandonato del tutto asp per passare a php e asp.net...
magari documentati in linea

 letto che è stato introdotto anche in access (credo >=2000).
Scusate, perché tutto questo casino quando con Access dalla versione 2000 è 
possibile risalire all'ultimo id dopo un inserimento con un banale:
Select @@identity as ultimo_id
?
Ciao
-- 
AZ [Microsoft - .NET MVP]
Mia Home page: 
http://ciclismo.sitiasp.it
Asp.Net community: 
http://www.aspitalia.com
Il mio blog: 
http://blogs.aspitalia.com/az
 

 ?
Perché non conosco access in questo contesto (io ho sempre usato sql server
in programmazione internet/intranet), mi ero solo inserito nel discorso
perché ricordavo il supporto a begintrans.
Se hanno anche inserito le variabili sql tipo @@identity meglio ancora!
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 ancora!
stored quieries e così via... stanno cercando di implementare di tutto, ma 
le prestazioni rimangono sempre quello che sono :)


Quindi dopo aver fatto un inserimento, faccio una semplice select su
@@identity e mi tira fuori l'id dell'ultimo record?
Lo metto in una variabile e faccio altre query facendo riferimentoa
quell'id, giusto?

 quell'id, giusto?
Esatto^2! :)


MITICOOOOOO!


ciao ..
.... tutto funziona correttamente ...
ma il dubbio che mi è venuto è questo :
sqlText = "INSERT INTO c ....."
set rsOrder = Conn.Execute(sqlText)
 set rsOrder = Conn.Execute("Select @@identity as ultimo_id")
txtInfo = txtInfo & " ultimo id inserito ="&rsOrder("ultimo_id")
con la select prendo l'ultimo id della tabella su cui ho fatto l'inserimento 
perchè è associato allo stesso oggetto resulset ? (in questo caso rsOrder )
.... mi spiego meglio (non ti mettere a ridere ... :-)
io non scrivo : Select @@identity as ultimo_id FROM tabella_xyz
il from non ce lo metto ... eppure funziona lo stesso !!!
poi ho provato con :
Select @@identity as ultimo_id from catalogs
e funziona lo stesso
adesso ti faccio la domanda ...
con questa istruzione    Select @@identity as ultimo_id          vedo 
l'ultimo valore inserito sulla base di dati  ?
e con questa istruzione    Select @@identity as ultimo_id from catalogs 
vedo l'ltimo valore inserito per quella specifica tabella ?
ti ringrazio per l'attenzione è colgo l'occasione per fae a tutti gli auguri 
di buona pasqua.
saluti Rob

 txtInfo = txtInfo & " ultimo id inserito ="&rsOrder("ultimo_id")
ultimo_id=Conn.Execute("Select @@identity as ultimo_id").fields(0).value
Saluti. Carlo.
-- 
Puoi chiamarmi con Skype o con Yahoo Messenger id: carlonike
Vuoi un sicuro e gratuito programma per la tua posta?
http://www.pegasusmail.tk
 o 
http://www.pmail.com

 ma il dubbio che mi è venuto è questo :
[CUT]
Devi fare tutto in un'unica transazione, non con 2 execute diversi.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_globals_50u1.asp
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.


Carissimo Carlo ...  leggi la risposta che mi ha dato Cristiano Larghi ...
... a quanto pare devo inserirlo all'interno della transazione ....
così come dici non risolverei lo stesso il problema ...
che ne pensi ?
saluti Rob


grazie ... vedo subito .....
saluti Rob