579 messaggi dal 28 gennaio 2004
ciao a tutti, ho un problema con questa istruzione:

Idsql = "select @@identity from carichi"
set rscaricoID = server.CreateObject("adodb.recordset")
rscaricoID.open IDsql, conn, 3, 3
id = rscaricoID("id_carico")
datakey = rscaricoID("data")

l'idea sarebbe quela di eseguire un recordset su due valori recuperandoli dall'ultimo record inserito, ma non sembra voler funzionare.... qualche consiglio? (il db e sql)

questo e l'errore:

ADODB.Recordset (0x800A0CC1)
Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.

grazie a tutti ciao
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
La @@identity è una funzione di sistema che restituisce l'ultimo valore identity inserito nella connessione corrente e come tale non ha senso utilizzarlo come stai facendo tu. Se vuoi conoscere l'ultimo valore identity inserito in una determinata tabella devi utilizzare la funzione IDENT_CURRENT.
Fai riferimento al Book On Line di SQL Server per ulteriori approfondimenti.

Bye
12 messaggi dal 02 luglio 2001
Beh mi sembra che il problema sia la select ... prova una cosa del genere "select MAX(PK), id_carico, data from carichi group by id_carico, data"
dove PK è la primary key della tabella carichi , non sarà performante ma dovrebbe restituirti quello che chiedi.

mz
579 messaggi dal 28 gennaio 2004
oddio... premetto che ho installato sql ieri, e quindi sono un po a diguno ehehehe comunque mi leggo un po il book e vedo di raccapezzarmi, se pero nel frattempo avete un esempio o mi volede indicare la strada
579 messaggi dal 28 gennaio 2004
e chiedo venia se mi dimentico le cose, ma comunque la cosa di poter recuperare due valori dell'ultimo inserimento e fattibile?
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
morph3us ha scritto:
e chiedo venia se mi dimentico le cose, ma comunque la cosa di poter recuperare due valori dell'ultimo inserimento e fattibile?


...se il campo ID è valorizzato con un identity oppure sei certo della sequenzialità dei valori progressivi,

SELECT TOP 1 campi
FROM dbo.MyTable
ORDER BY ID DESC

Bye
Modificato da l.bianchi il 10 novembre 2005 10.51 -
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
l.bianchi ha scritto:

...se il campo ID è valorizzato con un identity oppure sei certo della sequenzialità dei valori progressivi,


...oppure...

SELECT campi
FROM dbo.MyTable
WHERE ID = (SELECT MAX(ID) FROM dbo.MyTable)

Modificato da l.bianchi il 10 novembre 2005 10.51 -
579 messaggi dal 28 gennaio 2004
scusatemi ancora, l'applicativo lavorera con piu utenti in contemporanea, e quindi non devo necessariamente recuperare l'ultimo id, ma l'ultimo id inserito da quell'utente...., lo si puo fare con top 1?

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.