How to connect to MS Access Database Using ASP

How to connect to MS Access Database Using ASP
This tutorial documents code for connecting to a MS Access Database using the DSN-Less approach. With DNS-Less approach all you have to do in your code is define the location where your database resides.


This tutorial will show you how to connect to a MS Access database using the DSN-less approach.
Remember, your database can reside anywhere in your computer. If you are not sharing your database it is advisable not to keep your database under the “wwwroot” directory.


Database is password protected

Running IIS

Just copy and paste the following code in your ASP file and read the comments to modify settings according to your needs: (Text in grey are comments)

    ' Output to browser
    Do While Not rs.EOF
        response.write("Col1 and Col2 Values: " & rs("col1") & ", " & rs("col2") & "<BR>")
        ' Move to the Next Record in the database

    ' Close the recordset

    ' Close connection

The provided code is written in ASP (Active Server Pages), a Microsoft technology used for creating dynamic web pages that interact with databases. Here’s a breakdown of what each part of the code does:

  1. <% %>: These tags indicate the beginning and end of ASP script within an HTML document. Code within these tags is processed on the server before the page is sent to the client’s browser.
  2. Comments ('): Text following a single quote is a comment, intended to explain the code but not executed as part of the script.
  3. Do While Not rs.EOF: This line starts a loop. The loop continues as long as rs.EOF (End Of File) is False. In this context, rs refers to a recordset object which represents a set of records (rows) returned by a database query. rs.EOF becomes True when the recordset has been completely processed, meaning there are no more records to read.
  4. response.write(...): This line sends output to the web browser. response.write is a method used to write a specific string to the HTTP response. Here, it concatenates the string "Col1 and Col2 Values: " with the values from the col1 and col2 fields of the current record in the recordset (rs("col1") and rs("col2")), followed by a line break ("<BR>") for HTML formatting.
  5. rs.MoveNext: This command moves the recordset’s current position to the next record. It’s necessary to progress through the recordset while iterating over it in the loop.
  6. Loop: The end of the Do While loop. If rs.EOF is still False, the loop will continue, processing the next record.
  7. rs.close: This command closes the recordset (rs). It’s important to close the recordset to free up system resources once you’re done with it.
  8. conn.close: Closes the database connection (conn). Closing the connection is crucial after all database operations are complete to ensure efficient resource management.

In summary, this script loops through a set of records from a database, writing specific fields from each record to the web browser, and then closes the recordset and database connection. This is a common pattern in web applications where data is retrieved from a database and displayed to the user.

Nathan Pakovskie is an esteemed senior developer and educator in the tech community, best known for his contributions to With a passion for coding and a knack for simplifying complex tech concepts, Nathan has authored several popular tutorials on C# programming, ranging from basic operations to advanced coding techniques. His articles, often characterized by clarity and precision, serve as invaluable resources for both novice and experienced programmers. Beyond his technical expertise, Nathan is an advocate for continuous learning and enjoys exploring emerging technologies in AI and software development. When he’s not coding or writing, Nathan engages in mentoring upcoming developers, emphasizing the importance of both technical skills and creative problem-solving in the ever-evolving world of technology. Specialties: C# Programming, Technical Writing, Software Development, AI Technologies, Educational Outreach

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top