<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Sales Data Applet</title>
</head>
<body>
<h2>Sales Data</h2>
This page uses ASP to extract data from a small Access database. This data is then inserted into a NetCharts bar chart applet.
<p>
<%
' Copyright 2001 by Visual Mining, Inc, Rockville, MD USA
' Permission to use, copy, modify, or distribute this software
' and its documentation for any purpose is hereby granted.
' This notice must appear in all copies and this copyright
' permission notice must appear in supporting documentation.
' Visual Mining Inc. disclaims all warranties with regard to this software,
' including all implied warranties of merchantability and fitness.
' In no event shall Visual Mining Inc. be liable for any special, indirect
' or consequential damages or any damages whatsoever resulting from
' loss of use, data or profits, whether in an action of contract,
' negligence or other tortuous action, arising out of or in
' connection with the use or performance of this software.
' The purpose of this ASP example is to demonstrate extracting
' data from an ODBC data source, using ASP, and populating a NetCharts
' chart with this data. The basic order of events is as follows:
' - Create the variables
' - Create the connection to the database
' - Create the SQL statement
' - Open the database and extract the data into a RecordSet
' - Populate the variables with the data from the RecordSet
' - Close the connection to the database
' - Instantiate the applet and pass the variables in through
' the NFParamScript parameter.
' These are variables that represent the dynamic portion on the
' chart definition
Dim objConn, DataRS
Dim barLabels, ds1, ds2, ds3, ds4
Dim dataSql, count
' Create the connection and result set objects
Set objconn = Server.CreateObject("ADODB.Connection")
set DataRS = Server.CreateObject("ADODB.Recordset")
' Open the connection - "regionalsales" is a system DSN to an MS Access DB.
objconn.Open "regionalsales"
' Define the SQL statements
dataSql = "SELECT region, quarter1, quarter2, quarter3, quarter4 FROM Sales"
count = 0
' Execute the SQL
DataRS.Open dataSql, objConn
' Loop thru the RecordSet and populate the datasets and barlabels with the extracted data.
While Not DataRS.EOF
If count = 0 Then
barLabels = """ & DataRS("region") & """
ds1 = DataRS("quarter1")
ds2 = DataRS("quarter2")
ds3 = DataRS("quarter3")
ds4 = DataRS("quarter4")
Else
barLabels = barLabels & "," & """ & DataRS("region") & """
ds1 = ds1 & "," & DataRS("quarter1")
ds2 = ds2 & "," & DataRS("quarter2")
ds3 = ds3 & "," & DataRS("quarter3")
ds4 = ds4 & "," & DataRS("quarter4")
End If
'Move to the next record in the RecordSet
DataRS.MoveNext
count = count + 1
Wend
' Close connections
DataRS.Close
objConn.Close
Set DataRS = Nothing
Set objConn = Nothing
%>
<!--
Note: The "code=" attribute of the applet is pointing to the
netcharts4.apps.* package. This is done to avoid any classpath
conflicts that may occur on the system running NetCharts. If,
for instance, an older version of NetCharts is installed on the
system, and the CLASSPATH environment variable is pointing to
that package, then a conflict could occur that might keep this
example from running. By pointing specifically to the
netcharts4.apps.* package, no conflict will occur. Note that a
change will need to be made to the "code=" attribute in all of
the applet tags with every major new version upgrade of NetCharts.
(NetCharts 5.0, 6.0, etc.)
If this potential classpath conflict is not a concern, then set
"code=netcharts.apps.*". This will allow the applets to run
across multiple versions of NetCharts, without any changes.
-->
<applet name=Quarterly Sales
code=netcharts4.apps.NFBarchartApp
codebase=/classes
archive=netcharts4.jar
width=600 height=400>
<param name=NFParamScript value='
#Populate the chart with all of the static template information;
ChartName = "Basic Grouped Barchart";
DebugSet = ALL;
ChartWidth = 600;
ChartHeight = 400;
Background = (white,NONE,3,null,TILE,black);
BottomTics = ("ON",black,"Helvetica",10,0,null);
DataSets = ("Quarter1",null,BAR,4,FILLED),
("Quarter2",null,BAR,4,FILLED),
("Quarter3",null,BAR,4,FILLED),
("Quarter4",null,BAR,4,FILLED);
DwellLabel = ("",black,"Courier",12,0);
GraphType = GROUP;
TopAxisTitle = ("Regional Sales by Quarter",black,"Helvetica",12,0);
HeaderBox = (null,NONE,2,null,TILE,black);
LeftTics = ("ON",black,"Helvetica",10,0,null);
BarWidth = 61;
Bar3DDepth = -1;
DataAxis = (BOTTOM,LEFT),(BOTTOM,LEFT);
Grid = (lightgray,null,black,null,TILE);
DwellLabelBox = (yellow,RAISED,3,null,TILE,black);
Legend = ("Legend",black,"Helvetica",10,0);
LegendAxis = (BOTTOM,LEFT);
LegendLayout = (VERTICAL,RIGHT,0,0,TOPLEFT,-1);
LegendBox = (null,NONE,1,null,TILE,black);
ColorTable = x6c5d94,x999966,x315394,x213321,x00566f,x690931,x515f23;
LeftColor = black;
GridAxis = (BOTTOM,LEFT);
GridLine = (HORIZONTAL,SOLID,1);
BottomColor = black;
BarBorder = (NONE,1,black);
AntiAlias = "ON";
StackLabel = ITEM;
BottomTicLayout = (AUTO,0,1);
BottomAxisTitle = ("Region",black,"Helvetica",12,0);
DwellLabel = ("ON", navy, "Helvetica", 10, 0);
DwellLabelBox = (lightgrey, RAISED, 2);
#Now populate the chart with the dynamic data extracted from the database via ASP;
DataSet1 = <%=ds1%>;
DataSet2 = <%=ds2%>;
DataSet3 = <%=ds3%>;
DataSet4 = <%=ds4%>;
BarLabels = <%=barLabels%>;
'>
</applet>
</body>
</html>