Errata


Print Print Icon

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 "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



Version Location Description Submitted By Corrected
Printed Page 17
5th paragraph

OleDbConnection con = new OleDbConnection("Data Source=localhost;" +
"Initial Catalog=c:Nortwdind.mdb;" +
"Provider=Microsoft.Jet.OLEDB.4.0");

should read:

OleDbConnection con = new OleDbConnection(
"Data Source=c:Northwind.mdb;" +
"Provider=Microsoft.Jet.OLEDB.4.0");

Anonymous 
Printed Page 21
Last paragraph under Disposing Connections

The paragraph states that Dispose() removes the connection from the connection pool
and thus removes the key benefits of connection pooling. This is incorrect. Take a
look at SqlConnection for example. The Open() method obtains a SqlInternalConnection
from the connection pool and assigns it to the _internalConnection field. The Close()
method returns this internal connection to the pool. The Dispose() method actually
calls Close() so the internal connection is also returned to the pool in that case.
The difference between Dispose() and Close() is that the SqlConnection object should
not be reused after Dispose(), whereas after Close() the same SqlConnection object
can be reopened. This has no bearing on the SqlInternalConnection object and thus
makes no difference to the connection pooling mechanism.
This is a known error in the MSDN help.

Anonymous 
Printed Page 33
bottom of the page

cmd.Add(param);
should be:
cmd.Parameters.Add(param);

Anonymous 
Printed Page 34
top of page

SqlParameter param = cmd.Add("@Description", SqlDbType.VarChar,
88, "Description");
should be:
SqlParameter param = cmd.Parameters.Add("@Description", SqlDbType.VarChar,
88, "Description");

Anonymous 
Printed Page 53
Line 14

Error in codeline "if (r[i] != DBNull.Value)"
Correct is: "if (r[i] == DBNull.Value)"

Anonymous 
Printed Page 76
2nd Paragraph from the bottom

"The Contains() method returns a value indicating whether a column with a specified name exists in the
collection"
Should read:
"The Exists() method returns a value indicating whether a column with a specified name exists in the
collection"

Anonymous 
Printed Page 78
middle of the page

"The Contains() method returns a value indicating whether a column with a specified name exists in the
collection"
should read:
"The Exists() method returns a value indicating whether a column with a specified name exists in the
collection"

Anonymous 
Printed Page 84
First example at the top of the page

The DataRow[] is instantiated as "errorRow" but, subsequently, is used (in the code)
as "errorRows".

Anonymous 
Printed Page 121
Last entry in Table 12-1

Comment shows filter criterion as "...at least $1000", but the filter selects for
more than $1000, not at least $1000.

Anonymous 
Printed Page 133
third line from page top

As shown, "...propertyFieldBinding; = new...".
Should read "...propertyFieldBinding = new...".

Anonymous 
Printed Page 195
second paragraph, third line

"As the isolation level increases, ..."
It should read,
"As the isolation level decreases, ..."

Anonymous 
Printed Page 215
Table 17-4

The heading for Table 17-4 should read "MappingType values"

Also, in the "SimpleContent" description,
MappingStyle.Element
should be:
MappingType.Element

Anonymous 
Printed Page 216
top of page

Col.ColumnMapping = MappingStyle.Attribute;
should be:
Col.ColumnMapping = MappingType.Attribute;

Anonymous 
Printed Page 242
top of page

The OdbcConnection and OleDbConnection classes exhibit the same behavior in that
Dispose() either calls Close() or executes the same code that Close() does. The
underlying connection pooling mechanism (if enabled by the provider) should not be
disabled by Dispose() as stated in the book.
This is a known error in the MSDN help.

Anonymous 
Printed Page 253
Table 19-3

Table is incorrectly titled "CommandType values"
it should be titled "UpdateRowSource values"

Anonymous 
Printed Page 354
near the bottom of the page, the first line below the subhead example

"... uses the GetParentRow() method ..."
It should read
"... uses the GetParentRows() method ..."

Anonymous 
Printed Page 383
comment in next to last block of code

comment says
RowState = Inserted
it should be:
RowState = Added

Anonymous 
Printed Page 397
2nd para under "notes"

Reference to Table 29-3 is wrong, it should say "Table 19-3"

Anonymous