#185 - Ricavare l'ultimo record inserito in un database

Iniziando a lavorare con i database e le relative interrogazioni in ASP, ho sentito spesso la necessità di ricavare e quindi stampare a video l'ultimo record inserito. Per far questo, inserisco un campo di nome ID nel database, configurato come contatore.

Per ottenere l'ultimo valore, iniziamo la comune interrogazione con la sintassi:

<%

dim strConn
strConn="Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="&_
Server.MapPath("database.mdb")&"; Persist Security Info = False"

Set conn=Server.CreateObject("ADODB.Connection")
conn.Open strConn

%>

Nel caso che stiamo esemplificando, il database ha il nome "database.mdb".

Fatto questo, richiamiamo il campo ID dalla tabella "nometabella".

<%

set rs = Server.CreateObject("ADODB.Recordset")
rs.open "SELECT ID FROM nometabella ORDER BY ID DESC", conn, 1, 3

%>

In questa porzione di codice, abbiamo ordinato i valori presi dal campo ID, in maniera decrescente, quindi dal più grande al più piccolo.

Adesso non ci resta che prendere solo un valore tra gli ID presenti, che sarà quindi il maggiore:

<%

for i=1 to 1
if rs.eof<>true and rs.bof<>true then

%>

E' possibile ovviamente prendere anche gli ultimi due record inseriti, modificando la riga:

<%
for i=1 to 1

%>

con

<%
for i=1 to 2

%>

Detto questo, stampiamo a video, nel modo in cui preferiamo, il dato ottenuto:

<%

Response.write "<FONT FACE=ARIAL>L'ultimo ID inseritè o il <B>" & rs("ID") & _
              "°</B></FONT>"

%>

Naturalmente, prima di salvare il file, è necessario chiudere la connessione al database:

<%

  rs.movenext
end if

next

rs.close
set rs=Nothing

conn.Close
set conn=Nothing

%>

Per approfondimenti sui database si veda
http://www.aspitalia.com/articoli/db/


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC