9 messaggi dal 23 giugno 2001
Salve gente, ho la seguente situazione.
Registro un evento in un database (aggiungendo un record al DB) e immediatamento dopo lo devo riprendere.
Il problema sta nel fatto che devo prendere esattamente il record che ho appena immesso e deve essere l'ultimo inserito.
Il tutto funziona perfettamente, aprendo il recordset e posizionandomi all'ultimo record (rs.movelast).
Ma se tra l'inserimento del record e la sua riselezione, vi e' un altro inserimento da parte di un altro utente, alloro io non riprendero' il record voluto ma quello appena aggiunto dall altro utente!
Esiste un metodo per bloccare l'inserimento di nuovi records da parte di altri utenti finche' l utente in questione non riprende il suo?
Spero di non essermi ingarbugliato troppo nella spiegazione.
Grazie
7 messaggi dal 14 novembre 2002
in pratica, quando salvi il record sul db, prima di chiudere l'ggetto fai una cosa del tipo:

Dim dbc
Dim strConn

strConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("tuodatabase.mdb")
Set dbc = Server.CreateObject("ADODB.Connection")
dbc.open strConn

Dim sqlo
sqlo = "SELECT max(ID) FROM Tabella"
Set rso = dbc.Execute(sqlo)
Session("id") = Cint(rso(0))
rso.Close
set rso = nothing

a questo punto la Session("id") ha il valore dell'id del tuo record, qundi basta fare un redirect e sulla nuova pagina e aprire il record con l'id selezionato

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.