An ISAPI project to show database information (including images) in frames

This article describes an ISAPI project to show database information. The sample database has three fields: a record id, a name or title, and an image. The field for the image contains the path for the image file instead of the image itself. This approach has the advantage that the access is faster, however the database integrity is harder to maintain and it is more difficult to administer the WWW site. If you decide to include the image in the database, the changes in the ISAM module are minimal (in fact, the code gets smaller and simpler!).

The main page generated by the ISAM consist of two frames: the first contains a list of all the records in the database and the second contains the information of a specific record. All the items on the list are links that change the current record on the second frame. You may want to see the html sources for the dinamically generated pages for a better understanding of how the ISAM works.

The full source code for the ISAM is provided, you will have to compile it in order to get a working site. Before compiling you will have to change some constants in the code: the module location and the ODBC data source name and connection string. These constants are found in isam.h and isam.cpp. Once you have compiled the project with correct site location and ODBC constants you will need to take the following steps to install:

  • Create a directory under your http server root for the project
  • Copy the isam.dll file, the database and the images to this directory
  • Create an ODBC system data source for the database (note that the name for the data source must be the same that you set in the ISAM code)
  • Create a virtual directory in your http server to access the dll (remember to grant execute rights). The name of the directory must be the same you set in the project
  • If necesary, modify the database so the path for the images is valid (you will need Access to do that)

Download Source Code


Last updated: 17 June 1998