Autodesk 15606-011408-9300 Developer Guide - Page 94

Creating the Report Script

Page 94 highlights

Creating the Report Script Now let's create the ColdFusion template that will process the Autodesk MapGuide report. The following code listing is for the parcel_report.cfm file: ColdFusion Report Data ColdFusion-- ColdFusion query --> SELECT * FROM Parcel_Data Where APN IN (#PreserveSingleQuotes(OBJ_KEYS)#) ColdFusion Report Data Parcel Number: #apn# Owner: #owner# Year Built: #yearblt# Note that CFML tags are almost identical to those in the first example ("Listing File Contents with ColdFusion," on page 89). The only change is to the tag, which uses a different SQL statement: SELECT * FROM Parcel_Data Where APN IN (#PreserveSingleQuotes(OBJ_KEYS)#) As with the previous example, the statement is selecting records from the Parcel_Data DSN. The difference is that the SQL statement now points to a ColdFusion variable, #PreserveSingleQuotes(OBJ_KEYS)#. The OBJ_KEYS values refer to the parameter of the same name we specified in Autodesk MapGuide Author. As its name suggests, the PreserveSingleQuotes function tells ColdFusion to keep the singlequotes surrounding each feature key, instead of removing them automatically as it normally would. The SQL statement is basically saying in Parcel_Data to select all records whose APN field matches OBJ_KEYS. In other words, select the records that correspond to the selected features on the map. If OBJ_KEYS contains multiple keys, ColdFusion outputs the feature data associated with each key. 94 | Chapter 6 Using Reports to Query and Update Data Sources

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208

94
|
Chapter 6
Using Reports to Query and Update Data Sources
Creating the Report Script
Now let
s create the ColdFusion template that will process the Autodesk
MapGuide report. The following code listing is for the
parcel_report.cfm
file:
<HTML>
<HEAD><TITLE>ColdFusion Report Data</TITLE></HEAD>
<BODY>
ColdFusion-- ColdFusion query -->
<CFQUERY DATASOURCE="assessor" NAME="get_parcel_info">
SELECT * FROM Parcel_Data Where APN IN
(#PreserveSingleQuotes(OBJ_KEYS)#)
</CFQUERY>
<H1>ColdFusion Report Data</H1>
<!-- ColdFusion the output tags -->
<CFOUTPUT QUERY="get_parcel_info">
<P>Parcel Number: #apn#<BR>
Owner: #owner#<BR>
Year Built: #yearblt#</P>
</CFOUTPUT>
</BODY>
</HTML>
Note that CFML tags are almost identical to those in the first example
(
Listing File Contents with ColdFusion,
on page 89). The only change is to
the
<CFQUERY>
tag, which uses a different SQL statement:
SELECT * FROM Parcel_Data Where APN IN
(#PreserveSingleQuotes(OBJ_KEYS)#)
As with the previous example, the statement is selecting records from the
Parcel_Data
DSN. The difference is that the SQL statement now points to
a ColdFusion variable,
#PreserveSingleQuotes(OBJ_KEYS)#
. The
OBJ_KEYS
values refer to the parameter of the same name we specified in
Autodesk MapGuide Author. As its name suggests, the
PreserveSingleQuotes
function tells ColdFusion to keep the single-
quotes surrounding each feature key, instead of removing them automati-
cally as it normally would.
The SQL statement is basically saying in
Parcel_Data
to select all records
whose APN field matches OBJ_KEYS. In other words, select the records that
correspond to the selected features on the map. If OBJ_KEYS contains
multiple keys, ColdFusion outputs the feature data associated with each key.