Skip to main content

Beginning ASP.NET 2.0 and Databases

Beginning ASP.NET 2.0 and Databases

John Kauffman, Bradley Millington

ISBN: 978-0-471-78134-9

Aug 2006

535 pages

Select type: Paperback

Product not available for purchase


  • Combining both VB.Net and C# coverage in one book, this guide focuses on using ASP.NET 2.0 for solving business dynamic Web site challenges in a logical progression, from connecting to a database to displaying information to changing data
  • Covers the fundamentals of connecting Web pages to databases, techniques for creating data objects and events, and ways to handle data errors
  • Features tricks and traps for displaying data in grids, lists, and trees
  • Goes beyond the usual basic techniques to discuss the best practices and pitfalls that can occur in real-world scenarios with SQL Server, Oracle, MySQL, Access, and the new SQL Server Express Edition

Chapter 1: Introduction to ASP.NET 2.0 and ADO.NET.

Overview of the .NET Technologies.

Introduction to the .NET Framework.

Introduction to ASP.NET.

Introduction to ASP.NET 2.0.

Introduction to ADO.NET.

Review of ASP.NET 1.x and ADO.NET for Data Access.

ASP.NET 2.0 and Data Access.

Review of Terminology.

Requirements for Using ASP.NET 2.0.

A Web Server.

The .NET Framework Version 2.0.

An Editor to Create Web Pages.

A Database Management System.

Setup for This Book.

Install Visual Web Developer Express, SSE, and the ASP.NET Development Server.

Download This Book’s Files.

Create the Practice Web Site.

Install the Sample Databases.


Common Mistakes.



Chapter 2: Connecting to an Access Database.

Introduction to Microsoft Access and the JET Database Engine.

Pros and Cons of Using Access in Web Applications.

Connecting to a Microsoft Access Database in Visual Web Developer.

Using an AccessDataSource Control.

Variations in Select Statements.

Variations in MDB File Location.

Managing MDB File Permissions.

Handling Access Connection Failures Gracefully.

Common Mistakes.



Chapter 3: Connecting to SQL Server and SQL Server Express.

Introduction to SQL Server and Connection Strings.

Preparing to Use a SQL Server Database.

Specifying Connection Strings.

Using the SqlDataSource Control.

Understanding Security in SQL Server.

Authentication Options in SQL Server.

Authentication with SQL Server Express.

Database Rights with SQL Server Express.

Authentication Requirements for the SqlDataSource Control.

Storing the Connection String in the web.config File.

Manually Adding a Connection String to the web.config File.

Encrypting Connection Strings.

Choosing between DataSet and DataReader.

Discovering the Schema of an Unfamiliar Database.

Handling Failures with SqlDataSource.

Common Mistakes.



Chapter 4: Connecting to Other Relational Databases.

Introduction to Connections with Providers.

Understanding the Relationship between Layers of Connectivity Software.

Understanding Supported ADO.NET Providers.

Using ADO.NET Providers in ASP.NET 2.0.

Connecting to an Access MDB File When a Password Is Used.

Connecting to Oracle Database.

Connecting to MySQL.

Syntax for an ODBC Connection to MySQL.

Connecting to Excel.

Connecting to Other Databases.

Exploring Common Mistakes.



Chapter 5: Displaying Data in Tables.

Displaying Data in ASP.NET 2.0.

Review of Data-Bound and Data Source Controls.

Types of Data-Bound Controls.

Introduction to the GridView Control.

Capabilities of the GridView Control.

GridView Rendering Elements.

Connecting a GridView to Data.

Drag and Drop Fields from Data Explorer.

Drag and Drop Controls from the Toolbox.

Customizing the GridView’s Columns.

Selecting Columns in the Edit Columns Dialog Box.

Types of Column Fields.

Using the AutoGenerateColumns Property of the GridView.

Handling Null Field Values.

The DetailsView Control.

DetailsView Rendering Elements.

Connecting the DetailsView to Data.

Common Mistakes.



Chapter 6: Customizing the Appearance of Tables.

Customizing the Appearance of an Entire Table.

Setting the BackColor and a BackImageUrl.

Font and ForeColor.

Height and Width.

CellSpacing and CellPadding.

Borders and GridLines.


ShowHeader and ShowFooter.


Customizing Styles within a Table.

GridView and DetailsView Styles.

Empty Tables.

Styles Specific to the DetailsView Control.

Column Styles and Field Styles.

Using Cascading Style Sheets.

Understanding the Precedence of Styles.

Implementing Themes and Skins.

Using Auto Format in VWD.

Solving Common Mistakes.



Chapter 7: Sorting and Paging Data.



Requirements to Enable Sorting.

Understanding How ASP.NET 2.0 Manages Sorting.

Sort Expressions.


Enabling Paging.

Customizing Paging and Pager Navigation Tools.

Paging Theory and Alternatives.

The Relationship among Sorting, Paging, and Selecting.

Common Mistakes.



Chapter 8: Displaying Data in Selection Lists.

Introduction to Selection Lists.

Transition from GridView to Other Formats.

Types of Selection List Controls.

Concepts Common to All Selection List Controls.

Data-Binding List Controls.

DropDownList Control.

Selection in a List.

SelectedIndex and SelectedValue.

Automatic Postback.

Common Mistakes.



Chapter 9: Filtering and MasterDetails Scenarios.

Introducing Master–Details Scenarios.

Filtering GridView Records Using a Query String.

Filtering GridView Records Using a TextBox.

Using the SQL LIKE Operator.

The Theory of Selection and ControlParameters.

Scoping GridView Records Using a Selection List Control.

Master Control by DropDownList with Hard-Coded Items.

Master Control by ListBoxes with Data-Bound Items.

Display Options for GridView in Master-Details Scenario.

Master Control by List Boxes with a Default Setting That Shows all Records in the GridView.

Displaying Details Using a GridView and DetailsView on the Same Page.

Displaying Details Using a GridView and DetailsView on Different Pages.

Cascading DropDownLists.

Common Mistakes.



Chapter 10: Displaying Data in Templated Controls and Data Binding.

Introduction to Templates.

Template Location and Scope.

Template Contents.

Record Rendering: Repeat and Single.

Subsections of Templates.

Data Binding in Templates.

General Guidelines for Using Templated Controls.

GridView Template Columns.

DataList Control.

DataList Control Internal Layout.

Repeater Control.

Templates in the DetailsView Control.

FormView Control.

Comparison of the Templated Controls.

A Few More Advanced Ideas on Data Binding.

Common Mistakes.



Chapter 11: Updating and Deleting Data.

Overview of Modifying.

Command Fields.

Simple Update.

DataKeyNames and Updates.

Update in a DetailsView.

Parameters Collections.

Handle Nulls in Updates.

Delete to Remove Entire Records.

Common Mistakes.



Chapter 12: Inserting New Records.

Theory of Creating New Records.

Support for Insert.

What Happens under the Hood?

Database Considerations When Performing an Insert.

Enabling Insert in a Data Source Control.

Basic Insert Using DetailsView.

DetailsView Insert Starting from GridView.

GridView and DetailsView for Insert on Same Page.

GridView on One Page with DetailsView on a Different Page.

Insert Using TemplateFields.

Using the Bind Syntax in InsertItemTemplate.

Data Entry with RadioButtonLists and DropDownLists.

Data Entry with CheckBoxes.

Inserting with FormView.

Trade-Offs between DetailsView and FormView.

Common Mistakes.



Chapter 13: Validation.

Overview of Validation Controls.

What Are Validation Controls?

What Scenarios Do Validations Support?

Common Concepts of Validation Controls.

Common Properties.

Implementation of Validation Controls.

How Validation Works behind the Scenes.

Multiple Validations.

Types of Validation controls.

Validation in Data Scenarios.

Validation Summary.

Validation Groups.

Validation in Code.

Common Mistakes.



Chapter 14: Business Objects As a Source of Data.

Introduction to the ObjectDataSource Control.

Layers of an N-Tier Application.

Advantages of N-Tier Architectures.

Simple Objects with Hard-Coded Data.

Binds to a Hard-Coded Array.

Objects That Use Generics.

Objects That Bind to a DataSource.

Using VWD to Build Objects with Data.

Object That Returns a DataSet List.

Objects That Modify Data.

Master-Details with a Data Object.

Sorts in a Data Object.

Common Mistakes.



Chapter 15: XML and Other Hierarchical Data.

What Is Hierarchical Data?

Types of Hierarchical Data.

ASP.NET 2.0 Hierarchical Data Controls.

XmlDataSource and the TreeView Control.

DataBinding and Formatting the TreeView.

XPath with XmlDataSource.

Handling Events in a TreeView Control.

Hierarchical Data with Other Controls.

XmlDataSource and the DropDownList.

XmlDataSource and GridView.

XmlDataSource and DataList.

XmlDataSource and DataList with Nesting.

SiteMapDataSource, SiteMapPath, and the Menu Control.

Common Mistakes.



Chapter 16: Caching Data.

Caching and Its Benefits.

When to Use Caching.

Understanding State.

Understanding State Staleness.

Caching Options in ASP.NET 2.0.

A Note on Data for the Exercises.

Time-Based Cache Expiration.

Caching with Parameters.

Implementing Filtering Capability.

SQL Server Cache Invalidation.

Caching Partial Pages.

Common Mistakes.



Chapter 17: Handling Events for Data Controls.

Introduction to Event Handling.

Execution Control When an Event Is Triggered.

Types of Events.

General Techniques for Writing Event Handlers.

Transfer of Values When an Event Is Triggered.

Location of Event Handlers.

Command and Custom Button Events.

Using Events Raised by Command Buttons or Command FIelds.

Using Events Raised by Buttons with Custom Behavior.

List Selection Events and Page Events.

Data Control Binding Events.

General Error Events.

Common Mistakes.



Chapter 18: Performance Checklist.

Convert Pages from Earlier Versions to 2.0.

Switch from Access to SQL Server.

Use the DataReader Instead of the DataSet.

Use OLEDB Instead of ODBC.

Set List Items Statically.

Cache Data.

Cache Whole or Partial Pages.

Use SQL Server Cache Invalidation.

Typecast in Code.

Specifically List Columns Instead of using AutoGenerate Columns.

Turn Off ViewState When Possible.

Set Properties Declaratively.

Use Best Practices in Code.

Precompile Your Pages.

Chapter 19: Case Study: FAQ System.

Project Description.

Database Design.

Development of Files.


Appendix A: A Short and Practical Introduction to SQL Statements.

Appendix B: Exercise Answers.


Download Files
This Zip archive requires WinZip to open.
pg 359 Corrected Figure 14-1
MyTypeClass should be MyItemType
ChapterPageDetailsDatePrint Run
25Error in Text
page 25, second to last line of the first paragraph:

Text reads:

Should read:

99Error in Code
top of page (end of step 4 of the previous page "Try it out"):
lines 2 and 4:

should be:

223Error in Text
Page 223, Try it Out #0903, Step 2, Second sentence:

Text reads:
“… and set the column to au_lname…”

Should be:
“… and set the column to state…”

12303-4, 315re: Constraint in the Pubs Table
online errata only, no printed book correction:

John Kauffman here, with my thanks to poster "rsearing" who discovered a constraint in the Pubs table that was unknown to me. This is not a correction per se, but an additional few sentences I should have included.
The Pubs.Employees.EmpId used in TIO 1204 (page 315) allows the reader to create a new employee. When entering values, the EmpID must be of the form of 3 letters, 5 digits and then either (M or F). Examples can be seen by going to the Database Explorer, selecting down to the Pubs > Tables > Employees and showing the data of the table.
Existing EmpId values include:
PMA42628M Paolo M Accorti
PSA89086M Pedro S Afonso
VPA30890F Victoria P Ashworth