<% '******************************************************* '* ASP 101 Sample Code - http://www.asp101.com * '* * '* This code is made available as a service to our * '* visitors and is provided strictly for the * '* purpose of illustration. * '* * '* Please direct all inquiries to webmaster@asp101.com * '******************************************************* %> <strong><%= RetrieveAndIncrementCount() %></strong> <% ' I placed this in a function so I wouldn't have to worry about ' any namespace collisions. For example... if this was inline ' code and someone named a variable strSQL in a file this file ' gets included into you'd get an error. This way you don't and ' there's no chance of the variables overwriting one another! Function RetrieveAndIncrementCount() ' From adovbs.inc: Const adOpenKeyset = 1 Const adLockPessimistic = 2 Const adCmdText = &H0001 ' Local variables Dim strFilename Dim strSQL Dim rsCounter Dim iCount ' Get filename and build SQL query strFilename = Request.ServerVariables("SCRIPT_NAME") strSQL = "SELECT page_name, hit_count FROM hit_count WHERE page_name='" & strFilename & "';" ' Open our recordset Set rsCounter = Server.CreateObject("ADODB.Recordset") ' Access version: 'rsCounter.Open strSQL, _ ' "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("counter_db.mdb") & ";", _ ' adOpenKeyset, adLockPessimistic, adCmdText ' SQL Server version: rsCounter.Open strSQL, Application("SQLConnString"), adOpenKeyset, adLockPessimistic, adCmdText ' If we've got a record then we read the current value ' If we don't then we create one, set the filename, and start at 0 If rsCounter.EOF Then rsCounter.AddNew iCount = 0 rsCounter.Fields("page_name").Value = strFilename Else rsCounter.MoveFirst iCount = rsCounter.Fields("hit_count").Value End If ' Increment the count and update the DB rsCounter.Fields("hit_count").Value = iCount + 1 rsCounter.Update ' Close our connection rsCounter.Close Set rsCounter = Nothing ' Return the count (pre-incrementation). RetrieveAndIncrementCount = iCount End Function %>