ASP Tutorial
ASP Tutorial
ASP Tutorial
In our ASP tutorial you will learn about ASP, and how to execute scripts on
your server.
You will see that ASP is a powerful tool for making dynamic and interactive
Web pages.
Table of Contents
Introduction to ASP
What ASP is, what an ASP file is, how ASP works, and what ASP can do for you.
Install ASP
How to run ASP on your own PC.
ASP Syntax
The basics of ASP Syntax. Contains examples.
ASP Variables
The lifetime of variables, and a brief explanation about Session variables and Application variables.
Contains examples.
ASP Procedures
How to call procedures and functions, how to call a JavaScript procedure from a VBScript and vice
versa, and how to mix different script languages on the same page. Contains examples.
ASP Forms
How to get information from forms, and a few words about form validation. Contains examples.
ASP Cookies
What a cookie is, how to set a Cookie, how to get a Cookie, how to set Cookie paths, and how to
handle browsers that do not support cookies. Contains Examples.
ASP Session
What a session is, how to set session variables, how to get session variables, how to remove
session variables, and how to loop through session variables.
ASP Application
What an application is, how to set application variables, how to get application variables, and how
to loop through application variables.
ASP #include
It is possible to insert the content of another file into an ASP file before the server executes it, with
the #include directive.
ASP Global.asa
The Global.asa file is an optional file where you can specify event scripts and declare session and
application objects that can be accessed by every page in an ASP application.
ASP Sending e-mail with CDO
CDO is a built-in component in ASP. This component is used to send e-mail with ASP.
ASPError Object
The ASPError Object is used to display detailed information of any error that occurs in scripts in an
ASP page.
ASP Examples/Quiz
ASP Examples
Lots of ASP Examples !!!
ASP - ADO
ADO Introduction
This chapter is an introduction to ActiveX Data Objects (ADO). Contains Examples.
Introduction to ASP
An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are executed on
the server
Before you continue you should have some basic understanding of the following:
What is ASP?
• ASP stands for Active Server Pages
• ASP is a program that runs inside IIS
• IIS stands for Internet Information Services
• IIS comes as a free component with Windows 2000
• IIS is also a part of the Windows NT 4.0 Option Pack
• The Option Pack can be downloaded from Microsoft
• PWS is a smaller - but fully functional - version of IIS
• PWS can be found on your Windows 95/98 CD
ASP Compatibility
• When a browser requests an HTML file, the server returns the file
• When a browser requests an ASP file, IIS passes the request to the ASP engine. The ASP
engine reads the ASP file, line by line, and executes the scripts in the file. Finally, the ASP
file is returned to the browser as plain HTML
You can run ASP on your own PC without an external server. To do that, you must install
Microsoft's Personal Web Server (PWS) or Internet Information Services (IIS) on your
PC.
If you are serious about using ASP, you should have at least Windows 98, Second
Edition.
If you are really serious about using ASP, you should go for Windows 2000.
To run ASP on Windows 95, you will have to download "Windows NT 4.0 Option Pack" from
Microsoft.
To run ASP on Windows NT, you will have to download "Windows NT 4.0 Option Pack" from
Microsoft.
1. Open the Add-ons folder on your Windows98 CD, find the PWS folder and run the
setup.exe file.
2. An Inetpub folder will be created on your harddrive. Open it and find the wwwroot
folder.
3. Create a new folder, like "MyWeb", under wwwroot.
4. Use a text editor to write some ASP code, save the file as "test1.asp" in the "MyWeb"
folder.
5. Make sure your Web server is running - The installation program has added a new icon on
your task bar (this is the PWS symbol). Click on the icon and press the Start button in the
window that appears.
6. Open your browser and type in "http://localhost/MyWeb/test1.asp", to view your first
ASP page.
A workaround!
How to install IIS and run ASP on Windows Server 2003 (Windows .NET
Server)
1. When you start the Windows Server 2003, you should see the Manage Your Server
wizard
2. If the wizard is not displayed, go to Administrative Tools, and select Manage Your
Server
3. In the wizard, click Add or Remove a Role, click Next
4. Select Custom Configuration, click Next
5. Select Application Server role, click Next
6. Select Enable ASP.NET, click Next
7. Now, the wizard may ask for the Server 2003 CD. Insert the CD and let it run until it is
finished, then click the Finish button
8. The wizard should now show the Application Server role installed
9. Click on Manage This Application Server to bring up the Application Server
Management Console (MMC)
10. Expand the Internet Information Services (IIS) Manager, then expand your server,
and then the Web Sites folder
11. You should see the Default Web Site, and it should not say (Stopped)
12. IIS is running!
13. In the Internet Information Services (IIS) Manager click on the Web Service
Extensions folder
14. Here you will see that Active Server Pages are Prohibited (this is the default
configuration of IIS 6)
15. Highlight Active Server Pages and click the Allow button
16. ASP is now active!
ASP Syntax
You cannot view the ASP source code by selecting "View source" in a browser, you will
only see the output from the ASP file, which is plain HTML. This is because the scripts are
executed on the server before the result is sent back to the browser.
In our ASP tutorial, every example displays the hidden ASP source code. This will make it
easier for you to understand how it works.
Examples
An ASP file normally contains HTML tags, just like an HTML file. However, an ASP file can also
contain server scripts, surrounded by the delimiters <% and %>. Server scripts are executed
on the server, and can contain any expressions, statements, procedures, or operators valid for the
scripting language you prefer to use.
The Write method of the ASP Response Object is used to send content to the browser. For
example, the following statement sends the text "Hello World" to the browser:
<%
response.write("Hello World!")
%>
VBScript
You may use different scripting languages in ASP files. However, the default scripting language is
VBScript:
<html>
<body>
<%
response.write("Hello World!")
%>
</body>
</html>
The example above writes "Hello World!" into the body of the document.
JavaScript
To set JavaScript as the default scripting language for a particular page you must insert a language
specification at the top of the page:
<%@ language="javascript"%>
<html>
<body>
<%
Response.Write("Hello World!")
%>
</body>
</html>
Note: Unlike VBScript - JavaScript is case sensitive. You will have to write your ASP code with
uppercase letters and lowercase letters when the language requires it.
ASP is shipped with VBScript and JScript (Microsoft's implementation of JavaScript). If you want to
script in another language, like PERL, REXX, or Python, you will have to install script engines for
them.
Important: Because the scripts are executed on the server, the browser that displays the ASP file
does not need to support scripting at all!
ASP Variables
If the variable is declared outside a procedure it can be changed by any script in the ASP
file. If the variable is declared inside a procedure, it is created and destroyed every time
the procedure is executed.
Examples
Declare a variable
Variables are used to store information. This example demonstrates how to declare a variable,
assign a value to it, and use the value in a text.
Declare an array
Arrays are used to store a series of related data items. This example demonstrates how to declare
an array that stores names.
Lifetime of Variables
A variable declared outside a procedure can be accessed and changed by any script in the ASP file.
A variable declared inside a procedure is created and destroyed every time the procedure is
executed. No scripts outside the procedure can access or change the variable.
To declare variables accessible to more than one ASP file, declare them as session variables or
application variables.
Session Variables
Session variables are used to store information about ONE single user, and are available to all pages
in one application. Typically information stored in session variables are name, id, and preferences.
Application Variables
Application variables are also available to all pages in one application. Application variables are used
to store information about ALL users in a specific application.
ASP Procedures
In ASP you can call a JavaScript procedure from a VBScript and vice versa.
Examples
Procedures
Insert the <%@ language="language" %> line above the <html> tag to write procedures or
functions in another scripting language than default:
When calling a VBScript or a JavaScript procedure from an ASP file written in VBScript, you can use
the "call" keyword followed by the procedure name. If a procedure requires parameters, the
parameter list must be enclosed in parentheses when using the "call" keyword. If you omit the "call"
keyword, the parameter list must not be enclosed in parentheses. If the procedure has no
parameters, the parentheses are optional.
When calling a JavaScript or a VBScript procedure from an ASP file written in JavaScript, always use
parentheses after the procedure name.
Examples
User Input
The Request object may be used to retrieve user information from forms.
Form example:
Request.QueryString
If a user typed "Bill" and "Gates" in the form example above, the URL sent to the server would look
like this:
http://www.w3schools.com/simpleform.asp?fname=Bill&lname=Gates
Assume that the ASP file "simpleform.asp" contains the following script:
<body>
Welcome
<%
response.write(request.querystring("fname"))
response.write(" " & request.querystring("lname"))
%>
</body>
The browser will display the following in the body of the document:
Request.Form
The Request.Form command is used to collect values in a form with method="post". Information
sent from a form with the POST method is invisible to others and has no limits on the amount of
information to send.
If a user typed "Bill" and "Gates" in the form example above, the URL sent to the server would look
like this:
http://www.w3schools.com/simpleform.asp
Assume that the ASP file "simpleform.asp" contains the following script:
<body>
Welcome
<%
response.write(request.form("fname"))
response.write(" " & request.form("lname"))
%>
</body>
The browser will display the following in the body of the document:
Form Validation
User input should be validated on the browser whenever possible (by client scripts). Browser
validation is faster and you reduce the server load.
You should consider using server validation if the user input will be inserted into a database. A good
way to validate a form on the server is to post the form to itself, instead of jumping to a different
page. The user will then get the error messages on the same page as the form. This makes it easier
to discover the error.
ASP Cookies
Examples
Welcome cookie
How to create a Welcome cookie.
What is a Cookie?
A cookie is often used to identify a user. A cookie is a small file that the server embeds on the
user's computer. Each time the same computer requests a page with a browser, it will send the
cookie too. With ASP, you can both create and retrieve cookie values.
Note: The Response.Cookies command must appear BEFORE the <html> tag.
In the example below, we will create a cookie named "firstname" and assign the value "Alex" to it:
<%
Response.Cookies("firstname")="Alex"
%>
It is also possible to assign properties to a cookie, like setting a date when the cookie should expire:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2002#
%>
In the example below, we retrieve the value of the cookie named "firstname" and display it on a
page:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Output:
Firstname=Alex
If a cookie contains a collection of multiple values, we say that the cookie has Keys.
In the example below, we will create a cookie collection named "user". The "user" cookie has Keys
that contains information about a user:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Assume that your server has sent all the cookies above to a user.
Now we want to read all the cookies sent to a user. The example below shows how to do it (note
that the code below checks if a cookie has Keys with the HasKeys property):
<html>
<body>
<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br />")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br />")
end if
response.write "</p>"
next
%>
</body>
</html>
Output:
firstname=Alex
user:firstname=John
user:lastname=Smith
user:country=Norway
user:age=25
If your application deals with browsers that do not support cookies, you will have to use other
methods to pass information from one page to another in your application. There are two ways of
doing this:
<a href="welcome.asp?fname=John&lname=Smith">
Go to Welcome Page</a>
And retrieve the values in the "welcome.asp" file like this:
<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
2. Use a form
You can use a form. The form passes the user input to "welcome.asp" when the user clicks on the
Submit button:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
The Session object is used to store information about, or change settings for a user
session. Variables stored in the Session object hold information about one single user,
and are available to all pages in one application.
When you are working with an application, you open it, do some changes and then you close it. This
is much like a Session. The computer knows who you are. It knows when you start the application
and when you end. But on the internet there is one problem: the web server does not know who
you are and what you do because the HTTP address doesn't maintain state.
ASP solves this problem by creating a unique cookie for each user. The cookie is sent to the client
and it contains information that identifies the user. This interface is called the Session object.
The Session object is used to store information about, or change settings for a user session.
Variables stored in the Session object hold information about one single user, and are available to
all pages in one application. Common information stored in session variables are name, id, and
preferences. The server creates a new Session object for each new user, and destroys the Session
object when the session expires.
When does a Session Start?
• A new user requests an ASP file, and the Global.asa file includes a Session_OnStart
procedure
• A value is stored in a Session variable
• A user requests an ASP file, and the Global.asa file uses the <object> tag to instantiate an
object with session scope
A session ends if a user has not requested or refreshed a page in the application for a specified
period. By default, this is 20 minutes.
If you want to set a timeout interval that is shorter or longer than the default, you can set the
Timeout property.
<%
Session.Timeout=5
%>
<%
Session.Abandon
%>
Note: The main problem with sessions is WHEN they should end. We do not know if the user's last
request was the final one or not. So we do not know how long we should keep the session "alive".
Waiting too long for an idle session uses up resources on the server, but if the session is deleted too
soon the user has to start all over again because the server has deleted all the information. Finding
the right timeout interval can be difficult!
Tip: If you are using session variables, store SMALL amounts of data in them.
The most important thing about the Session object is that you can store variables in it.
The example below will set the Session variable username to "Donald Duck" and the Session
variable age to "50":
<%
Session("username")="Donald Duck"
Session("age")=50
%>
When the value is stored in a session variable it can be reached from ANY page in the ASP
application:
Welcome <%Response.Write(Session("username"))%>
You can also store user preferences in the Session object, and then access that preference to
choose what page to return to the user.
The example below specifies a text-only version of the page if the user has a low screen resolution:
The example below removes the session variable "sale" if the value of the session variable "age" is
lower than 18:
<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>
<%
Session.Contents.RemoveAll()
%>
The Contents collection contains all session variables. You can loop through the Contents collection,
to see what's stored in it:
<%
Session("username")="Donald Duck"
Session("age")=50
dim i
For Each i in Session.Contents
Response.Write(i & "<br />")
Next
%>
Result:
username
age
If you do not know the number of items in the Contents collection, you can use the Count property:
<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br />")
Next
%>
Result:
Session variables: 2
Donald Duck
50
You can loop through the StaticObjects collection, to see the values of all objects stored in the
Session object:
<%
dim i
For Each i in Session.StaticObjects
Response.Write(i & "<br />")
Next
%>
A group of ASP files that work together to perform some purpose is called an application.
The Application object in ASP is used to tie these files together.
Application Object
An application on the Web may be a group of ASP files. The ASP files work together to perform
some purpose. The Application object in ASP is used to tie these files together.
The Application object is used to store and access variables from any page, just like the Session
object. The difference is that ALL users share one Application object, while with Sessions there is
one Session object for EACH user.
The Application object should hold information that will be used by many pages in the application
(like database connection information). This means that you can access the information from any
page. It also means that you can change the information in one place and the changes will
automatically be reflected on all pages.
Application variables can be accessed and changed by any page in the application.
Sub Application_OnStart
application("vartime")=""
application("users")=1
End Sub
</script>
In the example above we have created two Application variables: "vartime" and "users".
There are
<%
Response.Write(Application("users"))
%>
active connections.
The Contents collection contains all application variables. You can loop through the Contents
collection, to see what's stored in it:
<%
dim i
For Each i in Application.Contents
Response.Write(i & "<br />")
Next
%>
If you do not know the number of items in the Contents collection, you can use the Count property:
<%
dim i
dim j
j=Application.Contents.Count
For i=1 to j
Response.Write(Application.Contents(i) & "<br />")
Next
%>
You can loop through the StaticObjects collection, to see the values of all objects stored in the
Application object:
<%
dim i
For Each i in Application.StaticObjects
Response.Write(i & "<br />")
Next
%>
You can lock an application with the "Lock" method. When an application is locked, the users cannot
change the Application variables (other than the one currently accessing it). You can unlock an
application with the "Unlock" method. This method removes the lock from the Application variable:
<%
Application.Lock
'do some application object operations
Application.Unlock
%>
The #include directive is used to create functions, headers, footers, or elements that will
be reused on multiple pages.
You can insert the content of one ASP file into another ASP file before the server executes it, with
the #include directive. The #include directive is used to create functions, headers, footers, or
elements that will be reused on multiple pages.
<html>
<body>
<h3>Words of Wisdom:</h3>
<p><!--#include file="wisdom.inc"--></p>
<h3>The time is:</h3>
<p><!--#include file="time.inc"--></p>
</body>
</html>
<%
Response.Write(Time)
%>
If you look at the source code in a browser, it will look something like this:
<html>
<body>
<h3>Words of Wisdom:</h3>
<p>"One should never increase, beyond what is necessary,
the number of entities required to explain anything."</p>
<h3>The time is:</h3>
<p>11:33:42 AM</p>
</body>
</html>
To include a file in an ASP page, place the #include directive inside comment tags:
<!--#include virtual="somefilename"-->
or
<!--#include file ="somefilename"-->
Use the virtual keyword to indicate a path beginning with a virtual directory.
If a file named "header.inc" resides in a virtual directory named /html, the following line would
insert the contents of "header.inc":
Use the file keyword to indicate a relative path. A relative path begins with the directory that
contains the including file.
If you have a file in the html directory, and the file "header.inc" resides in html\headers, the
following line would insert "header.inc" in your file:
<!-- #include file ="headers\header.inc" -->
Note that the path to the included file (headers\header.inc) is relative to the including file. If the file
containing this #include statement is not in the html directory, the statement will not work.
You can also use the file keyword with the syntax (..\) to include a file from a higher-level directory.
In the sections above we have used the file extension ".inc" for included files. Notice that if a user
tries to browse an INC file directly, its content will be displayed. If your included file contains
confidential information or information you do not want any users to see, it is better to use an ASP
extension. The source code in an ASP file will not be visible after the interpretation. An included file
can also include other files, and one ASP file can include the same file more than once.
Important: Included files are processed and inserted before the scripts are executed.
The following script will not work because ASP executes the #include directive before it assigns a
value to the variable:
<%
fname="header.inc"
%>
<!--#include file="<%=fname%>"-->
You cannot open or close a script delimiter in an INC file. This script will not work:
<%
For i = 1 To n
<!--#include file="count.inc"-->
Next
%>
The Global.asa file is an optional file that can contain declarations of objects, variables,
and methods that can be accessed by every page in an ASP application.
• Application events
• Session events
• <object> declarations
• TypeLibrary declarations
• the #include directive
Note: The Global.asa file must be stored in the root directory of the ASP application, and each
application can only have one Global.asa file.
Events in Global.asa
In Global.asa you can tell the application and session objects what to do when the
application/session starts and what to do when the application/session ends. The code for this is
placed in event handlers. The Global.asa file can contain four types of events:
Application_OnStart - This event occurs when the FIRST user calls the first page from an ASP
application. This event occurs after the Web server is restarted or after the Global.asa file is edited.
The "Session_OnStart" event occurs immediately after this event.
Session_OnStart - This event occurs EVERY time a NEW user requests his or her first page in the
ASP application.
Session_OnEnd - This event occurs EVERY time a user ends a session. A user ends a session after
a page has not been requested by the user for a specified time (by default this is 20 minutes).
Application_OnEnd - This event occurs after the LAST user has ended the session. Typically, this
event occurs when a Web server stops. This procedure is used to clean up settings after the
Application stops, like delete records or write information to text files.
Note: We cannot use the ASP script delimiters (<% and %>) to insert scripts in the Global.asa file,
we will have to put the subroutines inside the HTML <script> tag.
<object> Declarations
It is possible to create objects with session or application scope in Global.asa by using the <object>
tag.
Syntax
Parameter Description
Examples
The first example creates an object of session scope named "MyAd" by using the ProgID parameter:
The second example creates an object of application scope named "MyConnection" by using the
ClassID parameter:
The objects declared in the Global.asa file can be used by any script in the application:
GLOBAL.ASA:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary Declarations
A TypeLibrary is a container for the contents of a DLL file corresponding to a COM object. By
including a call to the TypeLibrary in the Global.asa file, the constants of the COM object can be
accessed, and errors can be better reported by the ASP code. If your Web application relies on COM
objects that have declared data types in type libraries, you can declare the type libraries in
Global.asa.
Syntax
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Parameter Description
version Optional. Used for selecting version. If the requested version is not found, then
the most recent version is used
localeid Optional. The locale identifier to be used for the type library
Error Values
Note: METADATA tags can appear anywhere in the Global.asa file (both inside and outside <script>
tags). However, it is recommended that METADATA tags appear near the top of the Global.asa file.
Restrictions
• You can not display text that is written in the Global.asa file. This file can't display
information
• You can only use Server and Application objects in the Application_OnStart and
Application_OnEnd subroutines. In the Session_OnEnd subroutine, you can use Server,
Application, and Session objects. In the Session_OnStart subroutine you can use any built-
in object
The example below shows how to detect the exact time a visitor first arrives on a Web site. The
time is stored in a Session variable named "started", and the value of the "started" variable can be
accessed from any ASP page in the application:
The example below shows how to redirect every new visitor to another page, in this case to a page
called "newpage.asp":
In the example below the Application_OnStart subroutine occurs when the Web server starts. Then
the Application_OnStart subroutine calls another subroutine named "getcustomers". The
"getcustomers" subroutine opens a database and retrieves a record set from the "customers" table.
The record set is assigned to an array, where it can be accessed from any ASP page without
querying the database:
Global.asa Example
In this example we will create a Global.asa file that counts the number of current visitors.
• The Application_OnStart sets the Application variable "visitors" to 0 when the server starts
• The Session_OnStart subroutine adds one to the variable "visitors" every time a new visitor
arrives
• The Session_OnEnd subroutine subtracts one from "visitors" each time this subroutine is
triggered
<html>
<head>
</head>
<body>
<p>
There are <%response.write(Application("visitors"))%>
online now!
</p>
</body>
</html>
CDO is a built-in component in ASP. This component is used to send e-mails with ASP.
Sending e-mail with CDO
CDO (Collaboration Data Objects) is a Microsoft technology that is designed to simplify the creation
of messaging applications.
CDO is a built-in component in ASP. We will show you how to use this component to send e-mail
with ASP.
Microsoft has discontinued the use of CDONTs on Windows 2000, Windows XP and Windows 2003. If
you have used CDONTs in your ASP applications, you should update the code and use the new CDO
technology.
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.TextBody="This is a message."
myMail.Send
%>
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.Bcc="[email protected]"
myMail.Cc="[email protected]"
myMail.TextBody="This is a message."
myMail.Send
%>
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.HTMLBody = "<h1>This is a message.</h1>"
myMail.Send
%>
Sending an HTML e-mail that sends a webpage from a file on your computer:
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.CreateMHTMLBody "file://c:/mydocuments/test.htm"
myMail.Send
%>
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.TextBody="This is a message."
myMail.AddAttachment "c:\mydocuments\test.txt"
myMail.Send
%>
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="[email protected]"
myMail.To="[email protected]"
myMail.TextBody="This is a message."
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Name or IP of remote SMTP server
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
="smtp.server.com"
'Server port
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") _
=25
myMail.Configuration.Fields.Update
myMail.Send
%>
ASP Response Object
The ASP Response object is used to send output to the user from the server.
Examples
Set how many minutes a page will be cached in a browser before it expires
This example demonstrates how to specify how many minutes a page will be cached in a browser
before it expires.
Response Object
The ASP Response object is used to send output to the user from the server. Its collections,
properties, and methods are described below:
Collections
Collection Description
Cookies Sets a cookie value. If the cookie does not exist, it will be created, and take
the value that is specified
Properties
Property Description
CacheControl Sets whether a proxy server can cache the output generated by ASP or not
ContentType Sets the HTTP content type for the Response object
Expires Sets how long (in minutes) a page will be cached on a browser before it
expires
ExpiresAbsolute Sets a date and time when a page cached on a browser will expire
Status Specifies the value of the status line returned by the server
Methods
Method Description
AddHeader Adds a new HTTP header and a value to the HTTP response
BinaryWrite Writes data directly to the output without any character conversion
A group of ASP files that work together to perform some purpose is called an application.
The Application object in ASP is used to tie these files together.
Application Object
An application on the Web may be a group of ASP files. The ASP files work together to perform
some purpose. The Application object in ASP is used to tie these files together.
The Application object is used to store and access variables from any page, just like the Session
object. The difference is that ALL users share one Application object, while with Sessions there is
one Session object for EACH user.
The Application object should hold information that will be used by many pages in the application
(like database connection information). This means that you can access the information from any
page. It also means that you can change the information in one place and the changes will
automatically be reflected on all pages.
The Application object's collections, methods, and events are described below:
Collections
Collection Description
Contents Contains all the items appended to the application through a script
command
StaticObjects Contains all the objects appended to the application with the HTML
<object> tag
Methods
Method Description
Lock Prevents other users from modifying the variables in the Application
object
Unlock Enables other users to modify the variables in the Application object
(after it has been locked using the Lock method)
Events
Event Description
Application_OnEnd Occurs when all user sessions are over, and the application ends
Application_OnStart Occurs before the first new session is created (when the Application
object is first referenced)
The Session object is used to store information about, or change settings for a user
session. Variables stored in the Session object hold information about one single user,
and are available to all pages in one application.
Examples
A session's timeout
This example demonstrates the "Timeout" property. This example sets and returns the timeout (in
minutes) for the session.
Session Object
When you are working with an application, you open it, do some changes and then you close it. This
is much like a Session. The computer knows who you are. It knows when you start the application
and when you end. But on the internet there is one problem: the web server does not know who
you are and what you do because the HTTP address doesn't maintain state.
ASP solves this problem by creating a unique cookie for each user. The cookie is sent to the client
and it contains information that identifies the user. This interface is called the Session object.
The Session object is used to store information about, or change settings for a user session.
Variables stored in the Session object hold information about one single user, and are available to
all pages in one application. Common information stored in session variables are name, id, and
preferences. The server creates a new Session object for each new user, and destroys the Session
object when the session expires.
The Session object's collections, properties, methods, and events are described below:
Collections
Collection Description
Contents Contains all the items appended to the session through a script
command
StaticObjects Contains all the objects appended to the session with the HTML
<object> tag
Properties
Property Description
CodePage Specifies the character set that will be used when displaying
dynamic content
SessionID Returns a unique id for each user. The unique id is generated by the
server
Timeout Sets or returns the timeout period (in minutes) for the Session
object in this application
Methods
Method Description
Events
Event Description
The ASP Server object is used to access properties and methods on the server.
Examples
Server Object
The ASP Server object is used to access properties and methods on the server. Its properties and
methods are described below:
Properties
Property Description
ScriptTimeout Sets or returns the maximum number of seconds a script can run before it
is terminated
Methods
Method Description
Transfer Sends (transfers) all the information created in one ASP file to a second
ASP file
The ASPError object is used to display detailed information of any error that occurs in
scripts in an ASP page.
The ASPError object is implemented in ASP 3.0 and it is only available in IIS5.
The ASP Error object is used to display detailed information of any error that occurs in scripts in an
ASP page. The ASPError object is created when Server.GetLastError is called, so the error
information can only be accessed by using the Server.GetLastError method.
The ASPError object's properties are described below (all properties are read-only):
Note: The properties below can only be accessed through the Server.GetLastError() method.
Properties
Property Description
ASPDescription Returns a detailed description of the error (if the error is ASP-related)
Category Returns the source of the error (was the error generated by ASP? By a
scripting language? By an object?)
Column Returns the column position within the file that generated the error
File Returns the name of the ASP file that generated the error
Line Returns the line number where the error was detected
Number Returns the standard COM error code for the error
Source Returns the actual source code of the line where the error occurred
The FileSystemObject object is used to access the file system on the server.
Examples
The FileSystemObject object is used to access the file system on the server. This object can
manipulate files, folders, and directory paths. It is also possible to retrieve file system information
with this object.
The following code creates a text file (c:\test.txt) and then writes some text to the file:
<%
dim fs,fname
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fname=fs.CreateTextFile("c:\test.txt",true)
fname.WriteLine("Hello World!")
fname.Close
set fname=nothing
set fs=nothing
%>
Properties
Property Description
Methods
Method Description
CreateTextFile Creates a text file and returns a TextStream object that can be used
to read from, or write to the file
GetAbsolutePathName Returns the complete path from the root of the drive for the
specified path
GetExtensionName Returns the file extension name for the last component in a specified
path
GetFileName Returns the file name or folder name for the last component in a
specified path
GetParentFolderName Returns the name of the parent folder of the last component in a
specified path
OpenTextFile Opens a file and returns a TextStream object that can be used to
access the file
Examples
Read textfile
This example demonstrates how to use the OpenTextFile method of the FileSystemObject to create
a TextStream Object. The ReadAll method of the TextStream Object reads from the opened text
file.
Return line-number
This example demonstrates how to return the current line number in a TextStream file.
The following code creates a text file (c:\test.txt) and then writes some text to the file (the variable
f is an instance of the TextStream object):
<%
dim fs, f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.CreateTextFile("c:\test.txt",true)
f.WriteLine("Hello World!")
f.Close
set f=nothing
set fs=nothing
%>
To create an instance of the TextStream object you can use the CreateTextFile or OpenTextFile
methods of the FileSystemObject object, or you can use the OpenAsTextStream method of the File
object.
Property Description
AtEndOfLine Returns true if the file pointer is positioned immediately before the end-of-
line marker in a TextStream file, and false if not
AtEndOfStream Returns true if the file pointer is at the end of a TextStream file, and false if
not
Column Returns the column number of the current character position in an input
stream
Methods
Method Description
Read Reads a specified number of characters from a TextStream file and returns
the result
ReadLine Reads one line from a TextStream file and returns the result
The Drive object is used to return information about a local disk drive or a network share.
Examples
The Drive object is used to return information about a local disk drive or a network share. The Drive
object can return information about a drive's type of file system, free space, serial number, volume
name, and more.
Note: You cannot return information about a drive's content with the Drive object. For this purpose
you will have to use the Folder object.
To work with the properties of the Drive object, you will have to create an instance of the Drive
object through the FileSystemObject object. First; create a FileSystemObject object and then
instantiate the Drive object through the GetDrive method or the Drives property of the
FileSystemObject object.
The following example uses the GetDrive method of the FileSystemObject object to instantiate the
Drive object and the TotalSize property to return the total size in bytes of the specified drive (c:):
<%
Dim fs,d
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set d=fs.GetDrive("c:")
Response.Write("Drive " & d & ":")
Response.Write("Total size in bytes: " & d.TotalSize)
set d=nothing
set fs=nothing
%>
Output:
Properties
Property Description
DriveLetter Returns one uppercase letter that identifies the local drive or a network
share
FreeSpace Returns the amount of free space to a user on a specified drive or network
share
IsReady Returns true if the specified drive is ready and false if not
Path Returns an uppercase letter followed by a colon that indicates the path
name for a specified drive
RootFolder Returns a Folder object that represents the root folder of a specified drive
Examples
To work with the properties and methods of the File object, you will have to create an instance of
the File object through the FileSystemObject object. First; create a FileSystemObject object and
then instantiate the File object through the GetFile method of the FileSystemObject object or
through the Files property of the Folder object.
The following code uses the GetFile method of the FileSystemObject object to instantiate the File
object and the DateCreated property to return the date when the specified file was created:
<%
Dim fs,f
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.GetFile("c:\test.txt")
Response.Write("File created: " & f.DateCreated)
set f=nothing
set fs=nothing
%>
Output:
Properties
Property Description
DateCreated Returns the date and time when a specified file was created
DateLastAccessed Returns the date and time when a specified file was last accessed
DateLastModified Returns the date and time when a specified file was last modified
Drive Returns the drive letter of the drive where a specified file or folder
resides
ParentFolder Returns the folder object for the parent of the specified file
ShortName Returns the short name of a specified file (the 8.3 naming convention)
ShortPath Returns the short path of a specified file (the 8.3 naming convention)
Method Description
OpenAsTextStream Opens a specified file and returns a TextStream object to access the file
To work with the properties and methods of the Folder object, you will have to create an instance of
the Folder object through the FileSystemObject object. First; create a FileSystemObject object and
then instantiate the Folder object through the GetFolder method of the FileSystemObject object.
The following code uses the GetFolder method of the FileSystemObject object to instantiate the
Folder object and the DateCreated property to return the date when the specified folder was
created:
<%
Dim fs,fo
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set fo=fs.GetFolder("c:\test")
Response.Write("Folder created: " & fo.DateCreated)
set fo=nothing
set fs=nothing
%>
Output:
The Folder object's collections, properties, and methods are described below:
Collections
Collection Description
Properties
Property Description
DateCreated Returns the date and time when a specified folder was created
DateLastAccessed Returns the date and time when a specified folder was last accessed
DateLastModified Returns the date and time when a specified folder was last modified
Drive Returns the drive letter of the drive where the specified folder resides
IsRootFolder Returns true if a folder is the root folder and false if not
ShortName Returns the short name of a specified folder (the 8.3 naming convention)
ShortPath Returns the short path of a specified folder (the 8.3 naming convention)
Methods
Method Description
CreateTextFile Creates a new text file in the specified folder and returns a TextStream
object to access the file
The Dictionary object is used to store information in name/value pairs (referred to as key
and item)
Examples
Set a key
This example demonstrates how to use the Key property to set a key in a Dictionary object.
The Dictionary object is used to store information in name/value pairs (referred to as key and item).
The Dictionary object might seem similar to Arrays, however, the Dictionary object is a more
desirable solution to manipulate related data.
The following example creates a Dictionary object, adds some key/item pairs to it, and retrieves the
item value for the key gr:
<%
Dim d
Set d=Server.CreateObject("Scripting.Dictionary")
d.Add "re","Red"
d.Add "gr","Green"
d.Add "bl","Blue"
d.Add "pi","Pink"
Response.Write("The value of key gr is: " & d.Item("gr"))
%>
Output:
Properties
Property Description
CompareMode Sets or returns the comparison mode for comparing keys in a Dictionary object
Methods
Method Description
Exists Returns a Boolean value that indicates whether a specified key exists in the
Dictionary object
Remove Removes one specified key/item pair from the Dictionary object
Examples
The ASP AdRotator component creates an AdRotator object that displays a different image each
time a user enters or refreshes a page. A text file includes information about the images.
Syntax
<%
set adrotator=server.createobject("MSWC.AdRotator")
adrotator.GetAdvertisement("textfile.txt")
%>
Example
<html>
<body>
<%
set adrotator=Server.CreateObject("MSWC.AdRotator")
response.write(adrotator.GetAdvertisement("ads.txt"))
%>
</body>
</html>
*
w3schools.gif
http://www.w3schools.com/
Visit W3Schools
80
microsoft.gif
http://www.microsoft.com/
Visit Microsoft
20
The lines below the asterisk in the file "ads.txt" specifies the images to be displayed, the hyperlink
addresses, the alternate text (for the images), and the display rates in percent of the hits. We see
that the W3Schools image will be displayed for 80 % of the hits and the Microsoft image will be
displayed for 20 % of the hits in the text file above.
Note: To get the links to work when a user clicks on them, we will have to modify the file "ads.txt"
a bit:
REDIRECT banners.asp
*
w3schools.gif
http://www.w3schools.com/
Visit W3Schools
80
microsoft.gif
http://www.microsoft.com/
Visit Microsoft
20
The redirection page (banners.asp) will now receive a querystring with a variable named URL
containing the URL to redirect to.
Note: To specify the height, width, and border of the image, you can insert the following lines
under REDIRECT:
REDIRECT banners.asp
WIDTH 468
HEIGHT 60
BORDER 0
*
w3schools.gif
...
...
The last thing to do is to add some lines of code to the "banners.asp" file:
<%
url=Request.QueryString("url")
If url<>"" then Response.Redirect(url)
%>
<html>
<body>
<%
set adrotator=Server.CreateObject("MSWC.AdRotator")
response.write(adrotator.GetAdvertisement("textfile.txt"))
%>
</body>
</html>
That's all!!
Properties
Methods
Examples
The Browser Capabilities Component
This example shows how to determine the type, capabilities and version number of each browser
visiting your site.
The ASP Browser Capabilities component creates a BrowserType object that determines the type,
capabilities and version number of each browser that visits your site.
When a browser connects to a server, an HTTP User Agent Header is also sent to the server. This
header contains information about the browser (like browser type and version number). The
BrowserType object then compares the information in the header with information in a file on the
server called "Browscap.ini".
If there is a match between the browser type and version number sent in the header and the
information in the "Browsercap.ini" file, you can use the BrowserType object to list the properties of
the matching browser. If there is no match for the browser type and version number in the
Browscap.ini file, it will set every property to "UNKNOWN".
Syntax
<%
Set MyBrow=Server.CreateObject("MSWC.BrowserType")
%>
The example below creates a BrowserType object in an ASP file, and displays a table showing some
of the capabilities of the current browser:
<html>
<body>
<%
Set MyBrow=Server.CreateObject("MSWC.BrowserType")
%>
<table border="1" width="100%">
<tr>
<th>Client OS</th>
<th><%=MyBrow.platform%></th>
</tr><tr>
<td >Web Browser</td>
<td ><%=MyBrow.browser%></td>
</tr><tr>
<td>Browser version</td>
<td><%=MyBrow.version%></td>
</tr><tr>
<td>Frame support?</td>
<td><%=MyBrow.frames%></td>
</tr><tr>
<td>Table support?</td>
<td><%=MyBrow.tables%></td>
</tr><tr>
<td>Sound support?</td>
<td><%=MyBrow.backgroundsounds%></td>
</tr><tr>
<td>Cookies support?</td>
<td><%=MyBrow.cookies%></td>
</tr><tr>
<td>VBScript support?</td>
<td><%=MyBrow.vbscript%></td>
</tr><tr>
<td>JavaScript support?</td>
<td><%=MyBrow.javascript%></td>
</tr>
</table>
</body>
</html>
Output:
Client OS WinNT
Web Browser IE
Browser version 5.0
Frame support? True
Table support? True
Sound support? True
Cookies support? True
VBScript support? True
JavaScript support? True
The "Browsercap.ini" file is used to declare properties and to set default values for browsers.
This section is not a tutorial on how to maintain "Browsercap.ini" files, it only shows you the basics;
so you get an idea what a "Browsercap.ini" file is all about.
[;comments]
[HTTPUserAgentHeader]
[parent=browserDefinition]
[property1=value1]
[propertyN=valueN]
[Default Browser Capability Settings]
[defaultProperty1=defaultValue1]
[defaultPropertyN=defaultValueN]
Parameter Description
comments Optional. Any line that starts with a semicolon are ignored by the
BrowserType object
HTTPUserAgentHeader Optional. Specifies the HTTP User Agent header to associate with the
browser-property value statements specified in propertyN. Wildcard
characters are allowed
browserDefinition Optional. Specifies the HTTP User Agent header-string of a browser to use as
the parent browser. The current browser's definition will inherit all of the
property values declared in the parent browser's definition
propertyN Optional. Specifies the browser properties. The following table lists some
possible properties:
valueN Optional. Specifies the value of propertyN. Can be a string, an integer (prefix
with #), or a Boolean value
defaultPropertyN Optional. Specifies the name of the browser property to which to assign a
default value if none of the defined HTTPUserAgentHeader values match the
HTTP User Agent header sent by the browser
;IE 5.0
[IE 5.0]
browser=IE
Version=5.0
majorver=#5
minorver=#0
frames=TRUE
tables=TRUE
cookies=TRUE
backgroundsounds=TRUE
vbscript=TRUE
javascript=TRUE
javaapplets=TRUE
ActiveXControls=TRUE
beta=False
;DEFAULT BROWSER
[*]
browser=Default
frames=FALSE
tables=TRUE
cookies=FALSE
backgroundsounds=FALSE
vbscript=FALSE
javascript=FALSE
ASP Content Linking Component
Examples
The ASP Content Linking component is used to create a quick and easy navigation system!
The Content Linking component returns a Nextlink object that is used to hold a list of Web pages to
be navigated.
Syntax
<%
Set nl=Server.CreateObject( "MSWC.NextLink" )
%>
First we create a text file - "links.txt". This file contains the pages to be navigated. The pages must
be listed in the same order you want them to be displayed, and it also must contain a description
for each file name (use the tab key to separate file name from description). Note: If you want to
add a page to the list or change the order of the pages in the list; all you have to do is to modify
the text file! The navigation will automatically be correct!
"links.txt":
On each of the pages listed above, put one line of code: <!-- #include file="nlcode.inc"-->. This line
will include the code below on every page listed in "links.txt" and the navigation will work.
"nlcode.inc":
<%
'Use the Content Linking Component
'to navigate between the pages listed
'in links.txt
dim nl
Set nl=Server.CreateObject("MSWC.NextLink")
if (nl.GetListIndex("links.txt")>1) then
Response.Write("<a href='" & nl.GetPreviousURL("links.txt"))
Response.Write("'>Previous Page</a>")
end if
Response.Write("<a href='" & nl.GetNextURL("links.txt"))
Response.Write("'>Next Page</a>")
%>
Methods
Output:
Output:
Item number 3
Examples
The Content Rotator Component
This component displays a different HTML content string each time a user visits or refreshes the
page.
The ASP Content Rotator component creates a ContentRotator object that displays a different HTML
content string each time a user enters or refreshes a page. A text file, called the Content Schedule
File, includes the information about the content strings.
The content strings can contain HTML tags so you can display any type of content that HTML can
represent: text, images, colors, or hyperlinks.
Syntax
<%
Set cr=Server.CreateObject( "MSWC.ContentRotator" )
%>
The following example displays a different content each time a user views the Web page. Create a
text file named "textads.txt" in your default Web Site folder, in a subfolder called text.
"textads.txt":
%% #1
This is a great day!!
%% #2
<h1>Smile</h1>
%% #3
<img src="smiley.gif">
%% #4
Here's a <a href="http://www.w3schools.com">link.</a>
Notice the #number at the beginning of each content string. This number is an optional parameter
that indicates the relative weight of the HTML content string. In this example, the Content Rotator
will display the first content string one-tenth of the time, the second string two-tenths of the time,
the third string three-tenths of the time, and the fourth string four-tenths of the time.
<html>
<body>
<%
set cr=server.createobject("MSWC.ContentRotator")
response.write(cr.ChooseContent("text/textads.txt"))
%>
</body>
</html>
The ASP Content Rotator Component's methods are described below:
Methods
response.write(cr.ChooseContent("text/textads.txt"))
%>
Output:
response.write(cr.GetAllContent("text/textads.txt"))
%>
Output:
Smile
Here's a link.
ASP Quick Reference from W3Schools. Print it, and fold it in your pocket.
Basic Syntax
ASP scripts are surrounded by <% and %>. To write some output to a browser:
<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>
The default language in ASP is VBScript. To use another scripting language, insert a language
specification at the top of the ASP page:
<%
....
%>
Request.QueryString is used to collect values in a form with method="get". Information sent from a
form with the GET method is visible to everyone (it will be displayed in the browser's address bar)
and has limits on the amount of information to send.
Request.Form is used to collect values in a form with method="post". Information sent from a form
with the POST method is invisible to others and has no limits on the amount of information to send.
ASP Cookies
A cookie is often used to identify a user. A cookie is a small file that the server embeds on the
user's computer. Each time the same computer requests for a page with a browser, it will send the
cookie too.
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2002"
%>
Note: The Response.Cookies command must appear BEFORE the <html> tag!
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Including Files
You can insert the content of one ASP file into another ASP file before the server executes it, with
the #include directive. The #include directive is used to create functions, headers, footers, or
elements that will be reused on multiple pages
Syntax:
<!--#include virtual="somefile.inc"-->
or
<!--#include file ="somefile.inc"-->
Use the virtual keyword to indicate a path beginning with a virtual directory. If a file named
"header.inc" resides in a virtual directory named /html, the following line would insert the contents
of "header.inc":
Use the file keyword to indicate a relative path. A relative path begins with the directory that
contains the including file. If you have a file in the html directory, and the file "header.inc" resides
in html\headers, the following line would insert "header.inc" in your file:
Use the file keyword with the syntax (..\) to include a file from a higher-level directory.
Global.asa
The Global.asa file is an optional file that can contain declarations of objects, variables, and
methods that can be accessed by every page in an ASP application.
Note: The Global.asa file must be stored in the root directory of the ASP application, and each
application can only have one Global.asa file.
• Application events
• Session events
• <object> declarations
• TypeLibrary declarations
• the #include directive
In Global.asa you can tell the application and session objects what to do when the
application/session starts and what to do when the application/session ends. The code for this is
placed in event handlers. Note: We do not use <% and %>, to insert scripts in the Global.asa file,
we have to put the subroutines inside the HTML <script> tag:
It is also possible to create objects with session or application scope in Global.asa by using the
<object> tag. Note: The <object> tag should be outside the <script> tag!
Syntax:
TypeLibrary Declarations
A TypeLibrary is a container for the contents of a DLL file corresponding to a COM object. By
including a call to the TypeLibrary in the Global.asa file, the constants of the COM object can be
accessed, and errors can be better reported by the ASP code. If your Web application relies on COM
objects that have declared data types in type libraries, you can declare the type libraries in
Global.asa.
Syntax:
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
The Session object is used to store information about, or change settings for a user session.
Variables stored in the Session object hold information about one single user, and are available to
all pages in one application.
Collections
• Contents - Holds every item added to the session with script commands
• StaticObjects - Holds every object added to the session with the <object> tag, and a given
session
• Contents.Remove(item/index) - Deletes an item from the Contents collection
• Contents.RemoveAll() - Deletes every item from the Contents collection
Properties
• CodePage - Sets the code page that will be used to display dynamic content
• LCID - Sets the locale identifier that will be used to display dynamic content
• SessionID - Returns the session id
• Timeout - Sets the timeout for the session
Method
Application Object
A group of ASP files that work together to perform some purpose is called an application.
The Application object in ASP is used to tie these files together. All users share one
Application object. The Application object should hold information that will be used by
many pages in the application (like database connection information).
Collections
• Contents - Holds every item added to the application with script commands
• StaticObjects - Holds every object added to the application with the <object> tag
• Contents.Remove - Deletes an item from a collection
• Contents.RemoveAll - Deletes every item from a collection
Methods
The Response Object is used to send output to the user from the server.
Collection
• Cookies(name) - Sets a cookie value. If the cookie does not exist, it will be created, and
take the value that is specified
Properties
• Buffer - Whether to buffer the output or not. When the output is buffered, the server will
hold back the response until all of the server scripts have been processed, or until the script
calls the Flush or End method. If this property is set, it should be before the <html> tag in
the ASP file
• CacheControl - Sets whether proxy servers can cache the output or not. When set to Public,
the output can be cached by a proxy server
• Charset(charset_name) - Sets the name of the character set (like "ISO8859-1") to the
content type header
• ContentType - Sets the HTTP content type (like "text/html", "image/gif", "image/jpeg",
"text/plain"). Default is "text/html"
• Expires - Sets how long a page will be cached on a browser before it expires
• ExpiresAbsolute - Sets a date and time when a page cached on a browser will expire
• IsClientConnected - Checks if the client is still connected to the server
• Pics(pics_label) - Adds a value to the pics label response header
• Status - Specifies the value of the status line
Methods
Request Object
When a browser asks for a page from a server, it is called a request. The Request Object is used to
get information from the user.
Collection
Property
• TotalBytes - Holds the total number of bytes the client is sending in the body of the request
Method
• BinaryRead - Fetches the data that is sent to the server from the client as part of a post
request
Server Object
The Server Object is used to access properties and methods on the server.
Property
Method
Source : http://www.w3schools.com/asp/asp_quickref.asp
ASP Examples
Basic
Variables
Create a variable
Create an array
Looping through HTML headers
Time-based greeting using VBScript
Time-based greeting using JavaScript
Procedures
Forms
Cookies
Response Object
Request Object
Session Object
Server Object
FileSystem Object
TextStream Object
Read textfile
Read only a part of a textfile
Read one line of a textfile
Read all lines from a textfile
Skip a part of a textfile
Skip a line of a textfile
Return current line-number in a text file
Get column number of the current character in a text file
Drive Object
Get the available space of a specified drive
Get the free space of a specified drive
Get the total size of a specified drive
Get the drive letter of a specified drive
Get the drive type of a specified drive
Get the file system of a specified drive
Is the drive ready?
Get the path of a specified drive
Get the root folder of a specified drive
Get the serialnumber of a specified drive
File Object
Dictionary Object
AdRotator
Browser Capabilities
Find the type, capabilities, and version of each browser that visits your site
ContentRotator
Display a different content each time a user visits a page (ASP 3.0)
Content Linking
What is ADO?
Where to go next?
ADO Tutorial
ADO Tutorial
In our ADO tutorial you will learn about ADO, and how to use ADO to access
databases from your Web.
ADO References
At W3Schools you will find complete ADO references about built-in objects, and their properties and
methods.
ADO Examples
Learn by examples! Because ASP scripts are executed on the server, you can not view ASP code in a
browser, you will only see the output from ASP which is plain HTML. At W3Schools every example
displays the hidden ASP code. This will make it easier for you to understand how it works.
ADO Examples!
W3Schools' Online Certification Program is the perfect solution for busy professionals who need to
balance work, family, and career building.
The ASP Developer Certificate is for developers who want to document their knowledge of ASP, SQL,
and ADO.
Table of Contents
ADO Introduction
This chapter explains what ADO is, and how it can be used.
ADO Recordset
This chapter explains how to access an ADO Recordset.
ADO Display
This chapter explains the most common way to display data from an ADO Recordset.
ADO Query
This chapter explains how to use SQL to filter an ADO Recordset.
ADO Sort
This chapter explains how to use SQL to sort an ADO Recordset.
ADO Add
This chapter explains how to use the SQL INSERT INTO command to add a record to a table in a
database.
ADO Update
This chapter explains how to use the SQL UPDATE command to update a record in a table in a
database.
ADO Delete
This chapter explains how to use the SQL DELETE command to update a record in a table in a
database.
ADO Demonstration
This chapter demonstrates how ADO can be used.
ADO DataTypes
The ADO Data Type mapping between Access, SQL Server, and Oracle.
ADO Examples
ADO Examples
Lots of ADO Examples !!!
Introduction to ADO
Before you continue you should have a basic understanding of the following:
What is ADO?
The common way to access a database from inside an ASP page is to:
Before a database can be accessed from a web page, a database connection has to be
established.
The easiest way to connect to a database is to use a DSN-less connection. A DSN-less connection
can be used against any Microsoft Access database on your web site.
If you have a database called "northwind.mdb" located in a web directory like "c:/webdata/", you
can connect to the database with the following ASP code:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
%>
Note, from the example above, that you have to specify the Microsoft Access database driver
(Provider) and the physical path to the database on your computer.
If you have an ODBC database called "northwind" you can connect to the database with the
following ASP code:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "northwind"
%>
With an ODBC connection, you can connect to any database, on any computer in your network, as
long as an ODBC connection is available.
The ADO Connection object is used to create an open connection to a data source. Through this
connection, you can access and manipulate a database.
ADO Recordset
To be able to read database data, the data must first be loaded into a recordset.
After an ADO Database Connection has been created, as demonstrated in the previous chapter, it is
possible to create an ADO Recordset.
Suppose we have a database named "Northwind", we can get access to the "Customers" table inside
the database with the following lines:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Customers", conn
%>
We can also get access to the data in the "Customers" table using SQL:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn
%>
Suppose we have a database named "Northwind", we can get access to the "Customers" table inside
the database with the following lines:
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn
for each x in rs.fields
response.write(x.name)
response.write(" = ")
response.write(x.value)
next
%>
The ADO Recordset object is used to hold a set of records from a database table.
ADO Display
The most common way to display data from a recordset, is to display the data in an HTML
table.
Examples
Display records
How to first create a database connection, then a recordset, and then display the data in HTML.
We have a database named "Northwind" and we want to display the data from the "Customers"
table (remember to save the file with an .asp extension):
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn
do until rs.EOF
for each x in rs.Fields
Response.Write(x.name)
Response.Write(" = ")
Response.Write(x.value & "<br />")
next
Response.Write("<br />")
rs.MoveNext
loop
rs.close
conn.close
%>
</body>
</html>
CustomerID = ALFKI
CompanyName = Alfreds Futterkiste
ContactName = Maria Anders
ContactTitle = Sales Representative
Address = Obere Str. 57
City = Berlin
PostalCode = 12209
Country = Germany
CustomerID = BERGS
CompanyName = Berglunds snabbköp
ContactName = Christina Berglund
ContactTitle = Order Administrator
Address = Berguvsvägen 8
City = Luleå
PostalCode = S-958 22
Country = Sweden
CustomerID = CENTC
CompanyName = Centro comercial Moctezuma
ContactName = Francisco Chang
ContactTitle = Marketing Manager
Address = Sierras de Granada 9993
City = México D.F.
PostalCode = 05022
Country = Mexico
....
....
....
We can also display the data from the "Customers" table inside an HTML table with the following
lines (remember to save the file with an .asp extension):
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select Companyname, Contactname from
Customers", conn
%>
<table border="1" width="100%">
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close
%>
</table>
</body>
</html>
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM Customers"
rs.Open sql, conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close
%>
</table>
</body>
</html>
Companyname Contactname
ADO Queries
We may use SQL to create queries to specify only a selected set of records and fields to
view.
Examples
We want to display only the records from the "Customers" table that have a "Companyname" that
starts with an A (remember to save the file with an .asp extension):
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM Customers
WHERE CompanyName LIKE 'A%'"
rs.Open sql, conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close%>
</table>
</body>
</html>
Companyname Contactname
ADO Sort
We may use SQL to specify how to sort the data in the record set.
Examples
We want to display the "Companyname" and "Contactname" fields from the "Customers" table,
ordered by "Companyname" (remember to save the file with an .asp extension):
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM
Customers ORDER BY CompanyName"
rs.Open sql, conn
%>
Companyname Contactname
We may use the SQL INSERT INTO command to add a record to a table in a database.
We want to add a new record to the Customers table in the Northwind database. We first create a
form that contains the fields we want to collect data from:
<html>
<body>
<form method="post" action="demo_add.asp">
<table>
<tr>
<td>CustomerID:</td>
<td><input name="custid"></td>
</tr><tr>
<td>Company Name:</td>
<td><input name="compname"></td>
</tr><tr>
<td>Contact Name:</td>
<td><input name="contname"></td>
</tr><tr>
<td>Address:</td>
<td><input name="address"></td>
</tr><tr>
<td>City:</td>
<td><input name="city"></td>
</tr><tr>
<td>Postal Code:</td>
<td><input name="postcode"></td>
</tr><tr>
<td>Country:</td>
<td><input name="country"></td>
</tr>
</table>
<br /><br />
<input type="submit" value="Add New">
<input type="reset" value="Cancel">
</form>
</body>
</html>
When the user presses the submit button the form is sent to a file called "demo_add.asp". The
"demo_add.asp" file contains the code that will add a new record to the Customers table:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"
on error resume next
conn.Execute sql,recaffected
if err<>0 then
Response.Write("No update permissions!")
else
Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>
</body>
</html>
Important
• If the table contains a primary key, make sure to append a unique, non-Null value to the
primary key field (if not, the provider may not append the record, or an error occurs)
• If the table contains an AutoNumber field, do not include this field in the SQL INSERT
command (the value of this field will be taken care of automatically by the provider)
In a MS Access database, you can enter zero-length strings ("") in Text, Hyperlink, and Memo fields
IF you set the AllowZeroLength property to Yes.
Note: Not all databases support zero-length strings and may cause an error when a record with
blank fields is added. It is important to check what data types your database supports.
We may use the SQL UPDATE command to update a record in a table in a database.
We want to update a record in the Customers table in the Northwind database. We first create a
table that lists all records in the Customers table:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers",conn
%>
<h2>List Database</h2>
<table border="1" width="100%">
<tr>
<%
for each x in rs.Fields
response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<% do until rs.EOF %>
<tr>
<form method="post" action="demo_update.asp">
<%
for each x in rs.Fields
if lcase(x.name)="customerid" then%>
<td>
<input type="submit" name="customerID" value="<%=x.value%>">
</td>
<%else%>
<td><%Response.Write(x.value)%></td>
<%end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
conn.close
%>
</table>
</body>
</html>
If the user clicks on the button in the "customerID" column he or she will be taken to a new file
called "demo_update.asp". The "demo_update.asp" file contains the source code on how to create
input fields based on the fields from one record in the database table. It also contains a "Update
record" button that will save your changes:
<html>
<body>
<h2>Update Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
cid=Request.Form("customerID")
if Request.form("companyname")="" then
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn
%>
<form method="post" action="demo_update.asp">
<table>
<%for each x in rs.Fields%>
<tr>
<td><%=x.name%></td>
<td><input name="<%=x.name%>" value="<%=x.value%>"></td>
<%next%>
</tr>
</table>
<br /><br />
<input type="submit" value="Update record">
</form>
<%
else
sql="UPDATE customers SET "
sql=sql & "companyname='" & Request.Form("companyname") & "',"
sql=sql & "contactname='" & Request.Form("contactname") & "',"
sql=sql & "address='" & Request.Form("address") & "',"
sql=sql & "city='" & Request.Form("city") & "',"
sql=sql & "postalcode='" & Request.Form("postalcode") & "',"
sql=sql & "country='" & Request.Form("country") & "'"
sql=sql & " WHERE customerID='" & cid & "'"
on error resume next
conn.Execute sql
if err<>0 then
response.write("No update permissions!")
else
response.write("Record " & cid & " was updated!")
end if
end if
conn.close
%>
</body>
</html>
We may use the SQL DELETE command to delete a record in a table in a database.
We want to delete a record in the Customers table in the Northwind database. We first create a
table that lists all records in the Customers table:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers",conn
%>
<h2>List Database</h2>
<table border="1" width="100%">
<tr>
<%
for each x in rs.Fields
response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<% do until rs.EOF %>
<tr>
<form method="post" action="demo_delete.asp">
<%
for each x in rs.Fields
if x.name="customerID" then%>
<td>
<input type="submit" name="customerID" value="<%=x.value%>">
</td>
<%else%>
<td><%Response.Write(x.value)%></td>
<%end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
conn.close
%>
</table>
</body>
</html>
If the user clicks on the button in the "customerID" column he or she will be taken to a new file
called "demo_delete.asp". The "demo_delete.asp" file contains the source code on how to create
input fields based on the fields from one record in the database table. It also contains a "Delete
record" button that will delete the current record:
<html>
<body>
<h2>Delete Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
cid=Request.Form("customerID")
if Request.form("companyname")="" then
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn
%>
<form method="post" action="demo_update.asp">
<table>
<%for each x in rs.Fields%>
<tr>
<td><%=x.name%></td>
<td><input name="<%=x.name%>" value="<%=x.value%>"></td>
<%next%>
</tr>
</table>
<br /><br />
<input type="submit" value="Delete record">
</form>
<%
else
sql="DELETE FROM customers"
sql=sql & " WHERE customersID='" & cid & "'"
on error resume next
conn.Execute sql
if err<>0 then
response.write("No update permissions!")
else
response.write("Record " & cid & " was deleted!")
end if
end if
conn.close
%>
</body>
</html>
ADO Demonstration
To demonstrate a small real life ADO application, we have put together a few ADO demos.
If you try to update the database, you will get the error message: "You do not have permission to
update this database". You get this error because you don't have write access to our server.
BUT, if you copy the code and run it on your own system, you might get the same error. That is
because the system might see you as an anonymous internet user when you access the file via your
browser. In that case, you have to change the access-rights to get access to the file.
Open Windows Explorer, find the .mdb file. Right-click on the .mdb file and select Properties. Go to
the Security tab and set the access-rights here.
The ADO Command object is used to execute a single query against a database. The query can
perform actions like creating, adding, retrieving, deleting or updating records.
If the query is used to retrieve data, the data will be returned as a RecordSet object. This means
that the retrieved data can be manipulated by properties, collections, methods, and events of the
Recordset object.
The major feature of the Command object is the ability to use stored queries and procedures with
parameters.
ProgID
set objCommand=Server.CreateObject("ADODB.command")
Properties
Property Description
Prepared Sets or returns a Boolean value that, if set to True, indicates that the
command should save a prepared version of the query before the first
execution
State Returns a value that describes if the Command object is open, closed,
connecting, executing or retrieving data
Methods
Method Description
Collections
Collection Description
Connection Object
The ADO Connection Object is used to create an open connection to a data source. Through this
connection, you can access and manipulate a database.
If you want to access a database multiple times, you should establish a connection using the
Connection object. You can also make a connection to a database by passing a connection string via
a Command or Recordset object. However, this type of connection is only good for one specific,
single query.
ProgID
set objConnection=Server.CreateObject("ADODB.connection")
Properties
Property Description
ConnectionTimeout Sets or returns the number of seconds to wait for a connection to open
Methods
Method Description
OpenSchema Returns schema information from the provider about the data source
RollbackTrans Cancels any changes in the current transaction and ends the
transaction
Events
Note: You cannot handle events using VBScript or JScript (only Visual Basic, Visual C++, and
Visual J++ languages can handle events).
Event Description
Collections
Collection Description
Error Object
The ADO Error object contains details about data access errors that have been generated during a
single operation.
ADO generates one Error object for each error. Each Error object contains details of the specific
error, and are stored in the Errors collection. To access the errors, you must refer to a specific
connection.
Syntax
objErr.property
Properties
Property Description
HelpFile Returns the full path of the help file in the Microsoft Windows help
system
NativeError Returns an error code from the provider or the data source
Source Returns the name of the object or application that generated the error
Field Object
The ADO Field object contains information about a column in a Recordset object. There is one Field
object for each column in the Recordset.
ProgID
set objField=Server.CreateObject("ADODB.field")
Properties
Property Description
NumericScale Sets or returns the number of decimal places allowed for numeric
values in a Field object
Methods
Method Description
GetChunk Returns all or a part of the contents of a large text or binary data Field
object
Collections
Collection Description
Parameter Object
The ADO Parameter object provides information about a single parameter used in a stored
procedure or query.
A Parameter object is added to the Parameters Collection when it is created. The Parameters
Collection is associated with a specific Command object, which uses the Collection to pass
parameters in and out of stored procedures and queries.
Parameters can be used to create Parameterized Commands. These commands are (after they have
been defined and stored) using parameters to alter some details of the command before it is
executed. For example, an SQL SELECT statement could use a parameter to define the criteria of a
WHERE clause.
There are four types of parameters: input parameters, output parameters, input/output parameters
and return parameters.
Syntax
objectname.property
objectname.method
Properties
Property Description
NumericScale Sets or returns the number of digits stored to the right side of the
decimal point for a numeric value of a Parameter object
Methods
Method Description
Property Object
The ADO Property object represents a dynamic characteristic of an ADO object that is defined by the
provider.
Each provider that talks with ADO has different ways of interacting with ADO. Therefore, ADO needs
to store information about the provider in some way. The solution is that the provider gives specific
information (dynamic properties) to ADO. ADO stores each provider property in a Property object
that is again stored in the Properties Collection. The Collection is assigned to either a Command
object, Connection object, Field object, or a Recordset object.
ProgID
set objProperty=Server.CreateObject("ADODB.property")
Properties
Property Description
The ADO Record object is used to hold a row in a Recordset, a directory, or a file from a file system.
Only structured databases could be accessed by ADO in versions prior 2.5. In a structured
database, each table has the exact same number of columns in each row, and each column is
composed of the same data type.
The Record object allows access to data-sets where the number of columns and/or the data type
can be different from row to row.
Syntax
objectname.property
objectname.method
Properties
Property Description
Method Description
GetChildren Returns a Recordset object where each row represents the files in
the directory
Collections
Collection Description
Property Description
Example:
countfields = rec.Fields.Count
Example:
itemfields = rec.Fields.Item(1)
or
itemfields = rec.Fields.Item("Name")
Examples
GetRows
This example demonstrates how to use the GetRows method.
Recordset Object
The ADO Recordset object is used to hold a set of records from a database table. A Recordset object
consist of records and columns (fields).
In ADO, this object is the most important and the most used object to manipulate data from a
database.
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
When you first open a Recordset, the current record pointer will point to the first record and the
BOF and EOF properties are False. If there are no records, the BOF and EOF property are True.
• Immediate updating - all changes are written immediately to the database once you call
the Update method.
• Batch updating - the provider will cache multiple changes and then send them to the
database with the UpdateBatch method.
• Dynamic cursor - Allows you to see additions, changes, and deletions by other users.
• Keyset cursor - Like a dynamic cursor, except that you cannot see additions by other
users, and it prevents access to records that other users have deleted. Data changes by
other users will still be visible.
• Static cursor - Provides a static copy of a recordset for you to use to find data or generate
reports. Additions, changes, or deletions by other users will not be visible. This is the only
type of cursor allowed when you open a client-side Recordset object.
• Forward-only cursor - Allows you to only scroll forward through the Recordset. Additions,
changes, or deletions by other users will not be visible.
The cursor type can be set by the CursorType property or by the CursorType parameter in the Open
method.
Note: Not all providers support all methods or properties of the Recordset object.
Properties
Property Description
AbsolutePage Sets or returns a value that specifies the page number in the
Recordset object
AbsolutePosition Sets or returns a value that specifies the ordinal position of the
current record in the Recordset object
BOF Returns true if the current record position is before the first
record, otherwise false
DataMember Sets or returns the name of the data member that will be
retrieved from the object referenced by the DataSource property
EOF Returns true if the current record position is after the last record,
otherwise false
Index Sets or returns the name of the current index for a Recordset
object
LockType Sets or returns a value that specifies the type of locking when
editing a record in a Recordset
Status Returns the status of the current record with regard to batch
updates or other bulk operations
StayInSync Sets or returns whether the reference to the child records will
change when the parent record position changes
Methods
Method Description
NextRecordset Clears the current Recordset object and returns the next
Recordset object by looping through a series of commands
Resync Refreshes the data in the current Recordset from the original
database
Events
Note: You cannot handle events using VBScript or JScript (only Visual Basic, Visual C++, and
Visual J++ languages can handle events).
Event Description
EndOfRecordset Triggered when you try to move to a record after the last record
MoveComplete Triggered after the current position in the Recordset has changed
Collections
Collection Description
Property Description
Example:
countfields = rs.Fields.Count
Example:
itemfields = rs.Fields.Item(1)
or
itemfields = rs.Fields.Item("Name")
Property Description
Example:
countprop = rs.Properties.Count
itemprop = rs.Properties.Item(1)
or
itemprop = rs.Properties.Item("Name")
The ADO Stream Object is used to read, write, and manage a stream of binary data or text.
Syntax
objectname.property
objectname.method
Properties
Property Description
Position Sets or returns the current position (in bytes) from the
beginning of a Stream object
Methods
Method Description
SetEOS Sets the current position to be the end of the stream (EOS)
The table below shows the ADO Data Type mapping between Access, SQL Server, and Oracle:
adDecimal 14 Decimal *
adLongVarWChar 203 Memo (Access 2000 NText (SQL Server NClob (Oracle 8.1.x)
(OLEDB)) 7.0 +)
Hyperlink (Access
2000 (OLEDB))
* In Oracle 8.0.x - decimal and int are equal to number and number(10).
ADO Examples
Display
Display records
Display records in an HTML table
Add headers to the HTML table
Add colors to the HTML table
Queries
Recordset Object
GetRows