Oct 11

Caprock StopWatch

An ASP stopwatch timer component for debugging, diagnostics and performancization. I did not write this component. The original author has evaporated, so I have archived it for the betterment of mankind.

Attached File Download the 21k zip file containing the DLL, source code, samples and documentation.

Oct 11

Caprock Dictionary: Thread-safe ASP dictionary component

A thread-safe dictionary component for use in the Session and Application instead of the built-in scripting.dictionary component, which is not thread-safe. I did not write this component. The original author has evaporated, so I have archived it for the betterment of mankind.

The Dictionary Object is a COM component designed to work with any scripting environment (it also supports native interfaces within Visual Basic and Visual C++). Whether you are using IIS/ASP or you are using the Windows Script Hosting environment, you can use this object to store items with an associated key. The key and the item can be any automation compatible data type such as strings, numbers and other automation objects.

This object is designed to be a replacement for the Scripting.Dictionary object. Special consideration has been made for the Dictionary object to work with IIS/ASP’s intrinsic Application and Session objects. You can store a reference to a Dictionary object in one or both of these objects without affecting the performance of your web application. This is accomplished by marking the Dictionary COM component as both apartment and free-threaded, aggregating the Free-Threaded Marshaler. Refer to Don Box’s excellent article, “House of COM”, Microsoft Systems Journal (now MSDN Magazine), September 1998. In the article he explains the impact each apartment model has on the performance of IIS and ASP. This component was developed with VC++ 6.0 and ATL 3.0 for the best performance possible.

Attached File Download the 78k zip file containing the DLL, source code, samples and documentation.

Jun 02

Access Cheat Sheet

These are from ye olde Access 97 days and may no longer apply.

COUNT DISTINCT isn’t supported

To get around it: SELECT COUNT(1) FROM (SELECT DISTINCT column FROM table)

Joins

When using multiple ANSI joins, you must surround each set in parentheses.

SELECT topic.name
FROM (users INNER JOIN messages ON users.id = messages.idUser)
INNER JOIN topics ON messages.idTopic = topics.id

Object Names

If there are queer characters or reserved words in your table/query names, you can reference them in SQL statements by surrounding the name with square brackets, just like SQL Server.

SELECT email, [date] FROM [List Members]

Dates

Surround dates in SQL with #.

SELECT * FROM users WHERE joined > #3/4/2002#

 

Apr 16

Return the folder of the current ASP file

ASPToday ASP Tip of Day for 17 April 2001, by Ian Vink

Return the folder of the current ASP file being accessed.

set fs = server.createObject("scripting.fileSystemObject")

Full_ASP_FILE_PATH = server.mapPath(request.serverVariables("PATH_INFO"))

PATH_ONLY = fs.getParentFolderName(Full_ASP_FILE_PATH)

response.write "This ASP page is being run in the folder: " & PATH_ONLY