4 messaggi dal 14 ottobre 2003
Salve a tutti,
sto cercando di recuperare il valore di un campo contatore
in Access quando faccio un nuovo inserimento.
Questa è la sub che uso per l'inserimento,
grazie in anticipo.

Public Sub Aggiungi()
Dim connessione As New OledbConnection(StringaConn)
Dim cmd As OleDbDataAdapter
Dim ds As DataSet

cmd = New OleDbDataAdapter()
cmd.SelectCommand=New OleDbCommand()
cmd.SelectCommand.Connection=connessione
cmd.SelectCommand.CommandText= "INSERT INTO tbl" _
+ " (pubblicato) " _
+ " VALUES (0)"
ds= New DataSet()
cmd.Fill(ds)
connessione.Close()

'qui vorrei riuscire ad avere il valore del campo id che è un contatore

End Sub
20 messaggi dal 17 settembre 2003
Devi usare una Select Max(id) con una Where che ti assicuri di recuperare il "TUO" id, non quello di un altro che ha inserito dopo di te

Dott. Andrea Testi
4 messaggi dal 14 ottobre 2003
non posso usare una Select Max xe' non ho nessuna Where che mi permette di sapere che il Max è quello che ho inserito, non vi e' volutamente traccia di chi fa questo inserimento.
Ho provato anche cosi':

Public Sub Aggiungi()
Dim connessione As New OledbConnection(StringaConn)
Dim cmd As OleDbCommand
Dim temp As String

cmd = New OleDbCommand()
cmd.Connection=connessione
cmd.CommandText= "INSERT INTO tbl" _
+ "(pubblicato) " _
+ "VALUES (0)"
connessione.Open()
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()
Try
While dr.Read()
temp = dr.GetInt32(0).ToString()
response.write("temp= " & temp)
End While
Finally
dr.Close()
connessione.Close()
End Try
End Sub

Senza risultato..
Mi viene in mente di provare con le @@IDENTITY
qualcuno le ha usate in .Net?

Modificato da clancy.vi il 14 ottobre 2003 16.50 -
1.818 messaggi dal 21 giugno 2001
Contributi
Quello che ti servirebbe è riuscire ogni volta ad inserire nel db un record che abbia già un campo con un valore "unico" in modo da poterlo utilizzare per una successiva SELECT e recuperare l'id.

Io ti consiglio di aggiungere un campo di testo in cui inserire il valore aaaammgghhmmssms
cioè
anno-mese-giorno-ore-minuti-secondi-millisecondi.

E' abbastanza improbabile che vengano eseguiti due INSERT che abbiano questo valore identico anche nei millisecondi.


hyppos
<code> in giro torte sol ciclos et rotor igni</code>

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.