- •Preface
- •Who Should Read This Book
- •Organization and Presentation
- •Contacting the Authors
- •Acknowledgments
- •Contents
- •Introduction
- •Why Microsoft .NET?
- •The Microsoft .NET Architecture
- •Internet Standards
- •The Evolution of ASP
- •The Benefits of ASP.NET
- •What Is .NET?
- •.NET Experiences
- •.NET Clients
- •.NET Services
- •.NET Servers
- •Review
- •Quiz Yourself
- •Installation Requirements
- •Installing ASP.NET and ADO.NET
- •Installing the .NET Framework SDK
- •Testing Your Installation
- •Support for .NET
- •Review
- •Quiz Yourself
- •Designing a Database
- •Normalization of Data
- •Security Considerations
- •Review
- •Quiz Yourself
- •Creating a Database
- •Creating SQL Server Tables
- •Creating a View
- •Creating a Stored Procedure
- •Creating a Trigger
- •Review
- •Quiz Yourself
- •INSERT Statements
- •DELETE Statements
- •UPDATE Statements
- •SELECT Statements
- •Review
- •Quiz Yourself
- •The XML Design Specs
- •The Structure of XML Documents
- •XML Syntax
- •XML and the .NET Framework
- •Review
- •Quiz Yourself
- •ASP.NET Events
- •Page Directives
- •Namespaces
- •Choosing a Language
- •Review
- •Quiz Yourself
- •Introducing HTML Controls
- •Using HTML controls
- •How HTML controls work
- •Intrinsic HTML controls
- •HTML Control Events
- •The Page_OnLoad event
- •Custom event handlers
- •Review
- •Quiz Yourself
- •Intrinsic Controls
- •Using intrinsic controls
- •Handling intrinsic Web control events
- •List Controls
- •Rich Controls
- •Review
- •Quiz Yourself
- •Creating a User Control
- •Adding User Control Properties
- •Writing Custom Control Methods
- •Implementing User Control Events
- •Review
- •Quiz Yourself
- •Common Aspects of Validation Controls
- •Display property
- •Type Property
- •Operator Property
- •Using Validation Controls
- •RequiredFieldValidator
- •RegularExpressionValidator
- •CompareValidator
- •RangeValidator
- •CustomValidator
- •ValidationSummaryx
- •Review
- •Quiz Yourself
- •Maintaining State Out of Process for Scalability
- •No More Cookies but Plenty of Milk!
- •Out of Process State Management
- •Review
- •Quiz Yourself
- •Introducing the Key Security Mechanisms
- •Web.config and Security
- •Special identities
- •Using request types to limit access
- •New Tricks for Forms-based Authentication
- •Using the Passport Authentication Provider
- •Review
- •Quiz Yourself
- •ASP.NET Updates to the ASP Response Model
- •Caching with ASP.NET
- •Page Output Caching
- •Absolute cache expiration
- •Sliding cache expiration
- •Fragment Caching
- •Page Data Caching
- •Expiration
- •File and Key Dependency and Scavenging
- •Review
- •Quiz Yourself
- •A Brief History of Microsoft Data Access
- •Differences between ADO and ADO.NET
- •Transmission formats
- •Connected versus disconnected datasets
- •COM marshaling versus text-based data transmission
- •Variant versus strongly typed data
- •Data schema
- •ADO.NET Managed Provider Versus SQL Managed Provider
- •Review
- •Quiz Yourself
- •Review
- •Quiz Yourself
- •Creating a Connection
- •Opening a Connection
- •Using Transactions
- •Review
- •Quiz Yourself
- •Building a Command
- •Connection property
- •CommandText property
- •CommandType property
- •CommandTimeout property
- •Appending parameters
- •Executing a Command
- •ExecuteNonQuery method
- •Prepare method
- •ExecuteReader method
- •Review
- •Quiz Yourself
- •Introducing DataReaders
- •Using DataReader Properties
- •Item property
- •FieldCount property
- •IsClosed property
- •RecordsAffected property
- •Using DataReader Methods
- •Read method
- •GetValue method
- •Get[Data Type] methods
- •GetOrdinal method
- •GetName method
- •Close method
- •Review
- •Quiz Yourself
- •Constructing a DataAdapter Object
- •SelectCommand property
- •UpdateCommand, DeleteCommand, and InsertCommand properties
- •Fill method
- •Update method
- •Dispose method
- •Using DataSet Objects
- •DataSetName property
- •CaseSensitive property
- •Review
- •Quiz Yourself
- •Constructing a DataSet
- •Tables property
- •TablesCollection Object
- •Count property
- •Item property
- •Contains method
- •CanRemove method
- •Remove method
- •Add method
- •DataTable Objects
- •CaseSensitive property
- •ChildRelations property
- •Columns property
- •Constraints property
- •DataSet property
- •DefaultView property
- •ParentRelations property
- •PrimaryKey property
- •Rows property
- •Dispose method
- •NewRow method
- •Review
- •Quiz Yourself
- •What Is Data Binding?
- •Binding to Arrays and Extended Object Types
- •Binding to Database Data
- •Binding to XML
- •TreeView Control
- •Implement the TreeView server control
- •Review
- •Quiz Yourself
- •DataGrid Control Basics
- •Binding a set of data to a DataGrid control
- •Formatting the output of a DataGrid control
- •Master/Detail Relationships with the DataGrid Control
- •Populating the Master control
- •Filtering the detail listing
- •Review
- •QUIZ YOURSELF
- •Updating Your Data
- •Handling the OnEditCommand Event
- •Handling the OnCancelCommand Event
- •Handling the OnUpdateCommand Event
- •Checking that the user input has been validated
- •Executing the update process
- •Deleting Data with the OnDeleteCommand Event
- •Sorting Columns with the DataGrid Control
- •Review
- •Quiz Yourself
- •What Is Data Shaping?
- •Why Shape Your Data?
- •DataSet Object
- •Shaping Data with the Relations Method
- •Review
- •Quiz Yourself
- •OLEDBError Object Description
- •OLEDBError Object Properties
- •OLEDBError Object Methods
- •OLEDBException Properties
- •Writing Errors to the Event Log
- •Review
- •Quiz Yourself
- •Introducing SOAP
- •Accessing Remote Data with SOAP
- •SOAP Discovery (DISCO)
- •Web Service Description Language (WSDL)
- •Using SOAP with ASP.NET
- •Review
- •Quiz Yourself
- •Developing a Web Service
- •Consuming a Web Service
- •Review
- •Quiz Yourself
- •ASP and ASP.NET Compatibility
- •Scripting language limitations
- •Rendering HTML page elements
- •Using script blocks
- •Syntax differences and language modifications
- •Running ASP Pages under Microsoft.NET
- •Using VB6 Components with ASP.NET
- •Review
- •Quiz Yourself
- •Preparing a Migration Path
- •ADO and ADO.NET Compatibility
- •Running ADO under ASP.NET
- •Early Binding ADO COM Objects in ASP.NET
- •Review
- •Quiz Yourself
- •Answers to Part Reviews
- •Friday Evening Review Answers
- •Saturday Morning Review Answers
- •Saturday Afternoon Review Answers
- •Saturday Evening Review Answers
- •Sunday Morning Review Answers
- •Sunday Afternoon Review Answers
- •What’s on the CD-ROM
- •System Requirements
- •Using the CD with Windows
- •What’s on the CD
- •The Software Directory
- •Troubleshooting
- •ADO.NET Class Descriptions
- •Coding Differences in ASP and ASP.NET
- •Retrieving a Table from a Database
- •Displaying a Table from a Database
- •Variable Declarations
- •Statements
- •Comments
- •Indexed Property Access
- •Using Arrays
- •Initializing Variables
- •If Statements
- •Case Statements
- •For Loops
- •While Loops
- •String Concatenation
- •Error Handling
- •Conversion of Variable Types
- •Index
absolute cache expiration, 137, 145
AcceptChanges method
DataRow class, 348 DataSet class, 337 DataTable class, 342
AcceptChangesDuringFill property
OleDbDataAdapter class, 324 SqlDataAdapter class, 333
access levels, 26
Active Server Pages (ASP)
coding differences from ASP.NET, 355–366 data display in, 233
evolution of, 6–8
migrating to ASP.NET, 291–298 Response object, 136
sample HTML form, 70–71
state management, 71–72, 113–114
Active Server platform, 6 ActiveX Data Objects (ADO)
ADO.NET versus, 150–152 history, 149–150
migrating to ADO.NET, 299–306
.NET version, 9
Add method
ConstraintCollection class, 351 DataColumnCollection class, 344 DataRelationCollection class, 349 DataRowCollection class, 347 DataTableCollection class, 341 DataTableCollection object, 216 DataTableMappingCollection class, 353 OledbParameter object, 182–183 OleDbParameterCollection class, 325 SqlParameterCollection class, 334
AddNew method, DataView class, 340
AddRange method
ConstraintCollection class, 351 DataColumnCollection class, 344 DataRelationCollection class, 349
Index
DataTableCollection class, 341 DataTableMappingCollection class, 353
Adobe Acrobat Reader, 318 ADODB.dll, 305
ADO.NET
ADO versus, 150–152 benefits, 152–153
class descriptions. See appendix C command objects, 177–185 connection objects, 169–176 data binding, 223–231
data shaping, 255–261
DataGrid control. See DataGrid control DataReaders, 187–195
DataSet object overview, 197–204, 211–222 error handling, 263–271
history, 9, 149–150 installation, 15–16
migrating from ADO, 299–306 object model, 160–164 support groups, 19
system requirements, 13–14
ADO.NET Managed Provider, 152
Advanced Data Table Gram (ADTG) format, 150–151
allow roles element, in Web.config, 126 allow users element, in Web.config, 126
AllowDBNull property, DataColumn class, 345 AllowDelete property, DataView class, 339
AllowEdit property, DataView class, 339 AllowNew property, DataView class, 339
AllowSorting attribute, OnSortCommand event, 251
ALTER rights, 26
ALTER TABLE statement, 34
AlternatingItemStyle property, DataGrid control, 236
anti-virus software, 318 Application Center 2000, 10 application state, 135
ApplyDefaultSort property, DataView class, 339
370 |
Index |
array coding array-bound
ArrayList AS clause,
.ascx ASP. See
ASP to ASP ASP.NET
basic caching coding cookieless event HTML
installation, key migrating namespaces, page running SOAP Standard support system
User
Web
Web XML in,
ASP.NET
ASP.NET
ASP.NET
ASP.NET aspnet ASP.NET ASP.NET ASP.NET ASPNG ASPState ASPUpload,
.aspx
@Assembly
asterisk, authentication
defined, formsPassport,
authentication
Author authorization,
Auto
Auto
Auto
automatic
Index |
371 |
353
326
348
class, 345
345
372 |
Index |
CommandTimeout
SqlCommand
CommandType
SqlCommand comment Commerce
Common
compatibility compilation, compiled
Compute configuration, Configuration config.web Connect connection
closing creating, opening overview using
connection
Connection
connection
ADO.NET constructing
connection
Connection
Constraint
ConstraintName
constraints setting in tables,
Constraints
DataTable DataTable
constructors of ADO.
Container
DataColumn
DataSet
DataTable
Index |
373 |
235
control, 234
method,
350
216
property, |
class, 319 |
374 |
Index |
DataSetName
DataSet
DataSet
DataSet datasets,
DataSetTable
DataSource
DataTable
DataTable
DataType DataTypeCheck DataView DataView DataViewManager date data,
DateTime
DBType
Debugging
DefaultValue
DefaultView
DataTable
DataTable
Delete
DataGrid
DataRow
DataView
DELETE
DELETE
DeleteCommand
deny deny dependency deployment
Deployment
Depth
derived Design
DesignMode
DataColumn DataSet DataTable DataView
Index |
375 |
345
XML 118–121
142,
object, 268
236
method, 260
125
config, 125
376 |
Index |
FROM clause, fully
GET Get[Data
GetBoolean
GetByte
GetBytes
GetChanges
DataSet
DataTable
GetChar
GetChars
GetChildRows
GetColumnError
GetColumns
GetDateTime
GetDecimal
GetDouble
GetEnumerator
DataView
GetErrors
GetFieldType
Index |
377 |
353
326
328
338
236 object, 268
ConstraintCollection class, 352 DataColumn class, 346 DataColumnCollection class, 344
378 |
Index |
IBuySpy. identity
in
IF EXISTS if statements,
impersonation,
@Import
ImportRow indexed indexes,
IndexOf
InferXmlSchema
Infragistics
SqlCommand
initializing
InnerException
in-process
Insert
INSERT
INSERT InsertCommand
instability, installation
ASP.NET
CD, 316 InstallSqlState system testing,
Index |
379 |
352
345
–350
216
353
325–326
–335
.
16
380 |
Index |
Mobile
MSDN
Multipage multithreading, munging,
/n[amespace]: names, 30
Namespace
DataColumn DataSet DataTable
namespaces needed needed OleDb, overview
naming
NativeError Nested
.NET Clients,
.NET Common
.NET
.NET
.NET download overview system
.NET
installation, testing
.NET
.NET Servers,
.NET
.NET Tools, Network network new
New keyword, new tables
NewRow
DataTable DataTable
NextResult
None
normalization Notepad, n-tier
NULL
Number
Index |
381 |
264
352
Continued
382 |
Index |
properties
Tables
validation value
Properties protocols,
Provider
Provider proxy public pubs_
Query creating opening stored table trigger
QuickStart quotes.
RangeValidator Read
DataReader
ReadMe
ReadOnly
ReadXml
ReadXmlSchema
DataReader
RecordSet building
DataSet evolution obsolete,
@Register
RejectChanges
DataRow class, 348 DataSet class, 339
DataTable class, 343
Index |
383 |
(SOAP)
14
384 |
Index |
SqlConnection
SqlDataAdapter
SqlDataAdapter
SqlDataReader
SqlDataReader
SqlDbType
SQLException
SqlParameter
SQLState SRC attribute, sReturnURL StackTrace
Standard state
ASP.NET cookieless efficiency external HTML
State
statements,
Static
stored
string strongly Structured
defined,
DELETE
INSERT
SELECT
UPDATE support SurveyForm switches,
SyncRoot
syntax System
System system
ASP.NET,
CD, 315
System.
System.
description, needed needed
Index |
385 |
–117
171–172
126
386 |
Index |
variable variable variant variantVB .NET
array ASP.NET case code for code for comment
developing error
for if
indexed
New statement string syntax variable variable while
VBScript array ASP.NET case code for code for comment error for
if indexed statement string syntax variable variable variable while
version views,
_VIEWSTATE
Visual building download overview
Web control Web controls intrinsic
list overview rich
Web Service
Hungry Minds, Inc.
End-User License Agreement
READ THIS. You should carefully read these terms and conditions before opening the software packet(s) included with this book (“Book”). This is a license agreement (“Agreement”) between you and Hungry Minds, Inc. (“HMI”). By opening the accompanying software packet(s), you acknowledge that you have read and accept the following terms and conditions. If you do not agree and do not want to be bound by such terms and conditions, promptly return the Book and the unopened software packet(s) to the place you obtained them for a full refund.
1.License Grant. HMI grants to you (either an individual or entity) a nonexclusive license to use one copy of the enclosed software program(s) (collectively, the “Software”) solely for your own personal or business purposes on a single computer (whether a standard computer or a workstation component of a multi-user network). The Software is in use on a computer when it is loaded into temporary memory (RAM) or installed into permanent memory (hard disk, CD-ROM, or other storage device). HMI reserves all rights not expressly granted herein.
2.Ownership. HMI is the owner of all right, title, and interest, including copyright, in and to the compilation of the Software recorded on the disk(s) or CD-ROM (“Software Media”). Copyright to the individual programs recorded on the Software Media is owned by the author or other authorized copyright owner of each program. Ownership of the Software and all proprietary rights relating thereto remain with HMI and its licensers.
3.Restrictions On Use and Transfer.
(a)You may only (i) make one copy of the Software for backup or archival purposes, or (ii) transfer the Software to a single hard disk, provided that you keep the original for backup or archival purposes. You may not (i) rent or lease the Software, (ii) copy or reproduce the Software through a LAN or other network system or through any computer subscriber system or bulletinboard system, or (iii) modify, adapt, or create derivative works based on the Software.
(b)You may not reverse engineer, decompile, or disassemble the Software. You may transfer the Software and user documentation on a permanent basis, provided that the transferee agrees to accept the terms and conditions of this Agreement and you retain no copies. If the Software is an update or has been updated, any transfer must include the most recent update and all prior versions.
4.Restrictions on Use of Individual Programs. You must follow the individual requirements and restrictions detailed for each individual program in Appendix F of this Book. These limitations are also contained in the individual license agreements recorded on the Software Media. These limitations may include a requirement that after using the program for a specified period of time, the user must pay a registration fee or discontinue use. By opening the Software packet(s), you will be agreeing to abide by the licenses and restrictions for these individual programs that are detailed in Appendix F and on the Software Media. None of the material on this Software Media or listed in this Book may ever be redistributed, in original or modified form, for commercial purposes.
5.Limited Warranty.
(a)HMI warrants that the Software and Software Media are free from defects in materials and workmanship under normal use for a period of sixty (60) days from the date of purchase of this Book. If HMI receives notification within the warranty period of defects in materials or workmanship, HMI will replace the defective Software Media.
(b)HMI AND THE AUTHOR OF THE BOOK DISCLAIM ALL OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, THE PROGRAMS, THE SOURCE CODE CONTAINED THEREIN, AND/OR THE TECHNIQUES DESCRIBED IN THIS BOOK. HMI DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE ERROR FREE.
(c)This limited warranty gives you specific legal rights, and you may have other rights that vary from jurisdiction to jurisdiction.
6.Remedies.
(a)HMI’s entire liability and your exclusive remedy for defects in materials and workmanship shall be limited to replacement of the Software Media, which may be returned to HMI with a copy of your receipt at the following address: Software
Media Fulfillment Department, Attn.: ASP.NET Database Programming Weekend Crash Course , Hungry Minds, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, or call 1-800-762-2974. Please allow four to six weeks for delivery. This Limited Warranty is void if failure of the Software Media has resulted from accident, abuse, or misapplication. Any replacement Software Media will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
(b)In no event shall HMI or the author be liable for any damages whatsoever (including without limitation damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising from the use of or inability to use the Book or the Software, even if HMI has been advised of the possibility of such damages.
(c)Because some jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation or exclusion may not apply to you.
7.U.S. Government Restricted Rights. Use, duplication, or disclosure of the Software for or on behalf of the United States of America, its agencies and/or instrumentalities (the “U.S. Government”) is subject to restrictions as stated in paragraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause of DFARS 252.227-7013, or subparagraphs (c) (1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, and in similar clauses in the NASA FAR supplement, as applicable.
8.General. This Agreement constitutes the entire understanding of the parties and revokes and supersedes all prior agreements, oral or written, between them and may not be modified or amended except in a writing signed by both parties hereto that specifically refers to this Agreement. This Agreement shall take precedence over any other documents that may be in conflict herewith. If any one or more provisions contained in this Agreement are held by any court or tribunal to be invalid, illegal, or otherwise unenforceable, each and every other provision shall remain in full force and effect.