ASP 101 - Active Server Pages 101 - Web05
The Place ASP Developers Go!



Windows Technology Windows Technology
15 Seconds
4GuysFromRolla.com
ASP 101
ASP Wire
VB Forums
VB Wire
WinDrivers.com
internet.commerce internet.commerce
Partners & Affiliates
ASP 101 is an
internet.com site
ASP 101 is an internet.com site
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

ASP 101 News Flash ASP 101 News Flash





ASP Source Code:
<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, "Provider=SQLOLEDB;Data Source=10.2.2.133;" _
		& "Initial Catalog=samples;User Id=samples;Password=password;" _
		& "Connect Timeout=15;Network Library=dbmssocn;", _
		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
%>

Back the the Sample Output

Back to the Sample Index


Home |  News |  Samples |  Articles |  Lessons |  Resources |  Forum |  Links |  Search |  Feedback

Internet.com
The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers