ASP in a Nutshell

Errata for ASP in a Nutshell

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page 24
Table 3-1

The Ad Rotator component is not listed in this table.

Anonymous   
Printed
Page 31

The 1st line of code on the page now reads: strKeyName= Application.Contents(3) Should read: strKeyName= Application.Contents.Key(3)

Anonymous   
Printed
Page 34
Example 4-4: the twelfth line of code now reads: "ReDim arystrNames(3)"

Should read: "Dim arystrNamesLocal"

Anonymous   
Printed
Page 35

Delete the second block of code that reads: <OBJECT RUNAT=Server SCOPE=Application ID=AppInfo2 PROGID="MSWC.MyInfo"> </OBJECT>

Anonymous   
Printed
Page 35
Delete the last two lines of code on the page that now read:

AppInfo2.PersonalName = "David Davidson" AppInfo2.PersonalAddress = "19A West Avenue"

Anonymous   
Printed
Page 36

The third line on the page now reads: ' of the PersonalName property of both AppInfo1 and Appinfo2 Should read: ' of the PersonalName property of AppInfo1

Anonymous   
Printed
Page 41
The end of the second paragraph on the page now reads: "...connected to

supports the XA protocol from the X/Open consortium. Note that this support is currently limited to SQL Server. Note also that this means that file actions are not yet supported--or at least, not automatically." Should read: "...connected to is Microsoft SQL Server or it supports the XA protocol from the X/Open consortium. Note that this means that file actions are not yet supported--or at least, not automatically."

Anonymous   
Printed
Page 45

The fifth-to-last line on the page now reads: Sub#OnTransactionAbort() Should read: Sub OnTransactionAbort() That is, there should be a space after the "Sub".

Anonymous   
Printed
Page 46

The third line in the Example section now reads: 'the SetAbort method example is processed Should read: 'the SetComplete method example is processed

Anonymous   
Printed
Page 46
The fourth line in the Example section now reads:

SubOnTransactionCommit() Should read: Sub OnTransactionCommit() That is, there should be a space after the "Sub".

Anonymous   
Printed
Page 56

The sixth line of code in the fourth code listing on the page now reads: First name:<INPUT TYPE="text" NAME="last_name" SIZE=60><BR> Should read: Last name:<INPUT TYPE="text" NAME="last_name" SIZE=60><BR>

Anonymous   
Printed
Page 60
The first sentence in the third paragraph on the page now reads: "As

with other ASP collections, you can retrieve the value of any field of the Cookies collection..." Should read: "As with other ASP collections, you can retrieve the value of any field of the ClientCertificate collection..."

Anonymous   
Printed
Page 60

The first line of code under the third paragraph now reads: strClientCountry = Request.ClientCertificate("Issuer") Should read: strCertIssuer = Request.ClientCertificate("Issuer")

Anonymous   
Printed
Page 70
The fourth-to-last line of code in the first code block on the page now

reads: <INPUT TYPE = "Submit"VALUE = "Submit User Info"> A space should be inserted after "Submit". It should read: <INPUT TYPE= "Submit" VALUE = "Submit User Info">

Anonymous   
Printed
Page 77

The first code string listed under the "Count" subsection now reads: strFirstName = Request.ServerVariables("REMOTE_ADDR") Should read: strRemoteAddr = Request.ServerVariables("REMOTE_ADDR")

Anonymous   
Printed
Page 77

The second code string listed under the "Count" subsection now reads: strFirstName = Request.ServerVariables.Item("REMOTE_ADDR") Should read: strRemoteAddr = Request.ServerVariables.Item("REMOTE_ADDR")

Anonymous   
Printed
Page 100

The first line of code in the listing just before the Tip now reads: strLastSearch = Response.Cookies("LastSearch") = _ Should read: Response.Cookies("LastSearch") = _

Anonymous   
Printed
Page 102

The thirteenth-to-last line of code now reads: For intCounter = 1 to Request.Forms("chkUserPrefs").Count It should read: For intCounter = 1 to Request.Form("chkUserPrefs").Count

Anonymous   
Printed
Page 142

The prototype after CODEPAGE used to read: "<@CODEPAGE=uintCodePage%>" It now reads: "<%@CODEPAGE=uintCodePage%>"

Anonymous    Oct 01, 1999
Printed
Page 143

The prototype after ENABLESESSIONSTATE used to read: "<@ENABLESESSIONSTATE=True|False%>" It now reads: "<%@ENABLESESSIONSTATE=True|False%>"

Anonymous    Oct 01, 1999
Printed
Page 143

The prototype after LANGUAGE used to read: "<@LANGUAGE=ScriptingEngine%>" It now reads: "<%@LANGUAGE=ScriptingEngine%>"

Anonymous    Oct 01, 1999
Printed
Page 144

The prototype after LCID used to read: "<@LCID=dwordLCID%>" It now reads: "<%@LCID=dwordLCID%>"

Anonymous    Oct 01, 1999
Printed
Page 145

The prototype after TRANSACTION used to read: "<@TRANSACTION=strValue%>" It now reads: "<%@TRANSACTION=strValue%>"

Anonymous    Oct 01, 1999
Printed
Page 149

In the first code block, after the line that reads: AdoCon.Open "MyDatabase" insert the line: %>

Anonymous   
Printed
Page 149

In the first code block, after the line that reads: <!--#include virtual = "/Accessory/ERROR.INC" --> insert the line <%

Anonymous   
Printed
Page 149

In the first code block, after the line that reads: Set adoRec = adoCon.Execute ("SELECT * FROM TopSales") in sert the line %>

Anonymous   
Printed
Page 149

In the first code block, just before the line that reads: ...[additional code] Insert the line <%

Anonymous   
Printed
Page 154

The ninth line of code on the page now reads: Dim strUserLogon Should read: Dim strLogonUser

Anonymous   
Printed
Page 154

The thirteenth line of code on the page now reads: strUserLogon = Request.ServerVariables("USER_LOGON") Should read: strLogonUser = Request.ServerVariables("LOGON_USER")

Anonymous   
Printed
Page 154

The twenty-first line of code on the page now reads: strUserLogon = "" Should read: strLogonUser = ""

Anonymous   
Printed
Page 159

The last paragraph, second line used to read: "If you want to learn more about OLE DB, pick up O'Reilly's forthcoming Mastering ActiveX Data Objects, by Jason T. Roff." It now reads: "If you want to learn more about OLE DB, pick up O'Reilly's forthcoming ADO: The Definitive Guide, by Jason T. Roff."

Anonymous    Oct 01, 1999
Printed
Page 161

The sixth paragraph, last line used to read: "For more details on the topics I have selected as being 'advanced,' I again refer you to Jason T. Roff's Mastering ActiveX Data Objects." It now reads: "For more details on the topics I have selected as being 'advanced,' I again refer you to Jason T. Roff's ADO: The Definitive Guide."

Anonymous    Oct 01, 1999
Printed
Page 179

The list term in "Parameters" section used to read: "ocjCmd" It now reads: "objCmd"

Anonymous    Oct 01, 1999
Printed
Page 180

The last line of code used to read: "rsHighSales = objDBCmd.Execute" It now reads: "Set rsHighSales = objSPCmd.Execute"

Anonymous    Oct 01, 1999
Printed
Page 181

The 7th line of code now used to read: "Set objDBCmd = Nothing" It now reads: "Set objSPCmd = Nothing"

Anonymous    Oct 01, 1999
Printed
Page 186

Delete the second sentence in the first paragraph that reads: "If you do not provide any of the elements, you must still include...

Anonymous   
Printed
Page 191

The eleventh-to-last line of code reads: For intCounter = 0 to objDBConn.Errors.Count Should read: For intCounter = 0 to objDBConn.Errors.Count - 1

Anonymous   
Printed
Page 216

The fourth to last line of the code listing reads: There were <%= lngREcordsAffected %> records... It should read: There were <%= lngAffectedRecords %> records...

Anonymous   
Printed
Page 237
Under the third numbered item under the Adrot.dll section, it used

to read: "Windows NT: C:WinNTSystem32Regsvr32.exe Adrot.dll" It now reads: "Windows NT: C:WinNTSystem32winnnt32inetserv Regsvr32.exe Adrot.dll"

Anonymous    Oct 01, 1999
Printed
Page 244
The sixth line of the programming example used to show object

instanciation like this: "objAdRot = Server.CreateObject("MSWC.AdRotator")" When instanciating an object in VB you must use "Set." Line 6 now reads: "Set objAdRot = Server.CreateObject("MSWC.AdRotator")"

Anonymous    Oct 01, 1999
Printed
Page 250

The 1st line of code in UserAgentHTTPHeader section used to read: "9compatible" It now reads: "(compatible"

Anonymous    Oct 01, 1999
Printed
Page 250
Lines 1-3 of second code block in UserAgentHTTPHeader section used

to read: "9compatible" It now reads: "(compatible"

Anonymous    Oct 01, 1999
Printed
Page 250
The 3rd and 4th code blocks (one line each) in UserAgentHTTPHeader

section used to read: "9compatible" It now reads: "(compatible"

Anonymous    Oct 01, 1999
Printed
Page 251

StrProperty section, 2nd code block used to read: "9compatible" It now reads: "(compatible"

Anonymous    Oct 01, 1999
Printed
Page 251

StrProperty section, 3rd code block, line 1 used to read: "9compatible" It now reads: "(compatible"

Anonymous    Oct 01, 1999
Printed
Page 268
In Table 14-21, the Description for the OutBox property has been

changed to read: "A Folder object that represents the current Outbox of the current session"

Anonymous    Oct 01, 1999
Printed
Page 271

After the line that reads: objNewMail.BodyFormat = cdoBodyFormatHTML Insert the line: objNewMail.MailFormat = cdoMailFormatMime

Anonymous   
Printed
Page 300

In the code that reads: If intCurrentPageNumber > 1 Then 'Retrieve the description for the first page in the 'series strPrevURL = objContentLink.GetPreviousURL( _ Should read: If intCurrentPageNumber > 1 Then 'Retrieve the URL for the first page in the 'series strPrevURL = objContentLink.GetPreviousURL( _

Anonymous   
Printed
Page 301

There are 3 lines at the end of the code section that read: <A HREF="Content3.asp">Previous: Lesson 3 Variables</A><BR> <A HREF="Content1.asp">Home: Lesson 1 Introduction</A><BR> <A HREF="Content5.asp">Next: Lesson 5 Pointers</A><BR> These lines should be boldfaced.

Anonymous   
Printed
Page 322
Table 18-8: The description of the GetFolder method actually applies to

the GetFolderName method, which isn't listed here. So do the following: Insert a row after the GetFolder row. Its text is: For the Method column: "GetFolderName" For the Description column (this currently is the text of the Description column in the GetFolder row): "Retrieves the name of the last folder in a physical path. For example, given the argument <I>C:docsmystuff</I>, you would retrieve the string <I>mystuff</I>." Also, change the text of the Description column for the GetFolder row to: "Retrieves a Folder object associated with a specified folder."

Anonymous   
Printed
Page 341

The prototype for "OpenAsTextStream (File Object) now reads: filObj.OpenAsTextStream [intAccessMode][, intFormat] It should read: tsObject = filObj.OpenAsTextStream([intAccessMode][, intFormat]) Also, at the end of the description ("Opens a file and creates...") add the following sentence: "The method returns a TextStream object."

Anonymous   
Printed
Page 342
Example: after the two Dim statements, insert the following line

Dim tsObject 'TextStream object Change the line of code before the "%>" to read: Set tsObject = filObject.OpenAsTextStream(ForAppending, TristateTrue)

Anonymous   
Printed
Page 343
After the second Dim statement (Dim filObject...), add the line

Dim tsObject 'TextStream object Change the line that reads: filObject.OpenAsTextStream(ForReading, TristateFalse) To: Set tsObject = filObject.OpenAsTextStream(ForReading, TriStateFalse) Change the last line before the "%>" to: strBuffer = tsObject.ReadLine

Anonymous   
Printed
Page 344
After the second Dim statement (Dim filObject...), add the line

Dim tsObject 'TextStream object Change the line that reads: filObject.OpenAsTextStream(ForAppending, TristateFalse) To: Set tsObject = filObject.OpenAsTextStream(ForAppending, TriStateFalse) Change the line before "...[additional code]" to: tsObject.Write strEnding

Anonymous   
Printed
Page 345
In the Example section, after the second Dim statement

(Dim filObject...), add the line: Dim tsObject 'TextStream object Change the line that reads: filObject.OpenAsTextStream(ForAppending, TristateFalse) To: Set tsObject = filObject.OpenAsTextStream(ForAppending, TriStateFalse) Change the line before "...[additional code]" to: tsObject.WriteLine strEnding

Anonymous