| | | Copyright |
| | | Microsoft Windows Server System Series |
| | | Foreword |
| | | Acknowledgments |
| | | About the Authors |
| | | Introduction |
| | | | How Did I Get to This Point? |
| | | | The 7th Edition's Scope |
| | | | Keeping Current |
| | | | Is This Book Written For You? |
| | | | Getting Help and Support |
| | | Chapter 1. Exploring Application Architectures |
| | | | Introduction |
| | | | Choosing the "Right" Architecture |
| | | | Understanding Your Toolset |
| | | | Recognizing Application Design Constraints |
| | | | Choosing the Right Data Access Interface |
| | | | Choosing the Right Database Management System |
| | | | Understanding Basic Data Access Architectures |
| | | | Summary |
| | | Chapter 2. How Does SQL Server Work? |
| | | | Introduction |
| | | | Servers and Versions |
| | | | Installing SQL Server |
| | | | Running SQL Server Services |
| | | | Touring the SQL Server System Databases |
| | | | Understanding the SQL Server Security System |
| | | | Managing SQL Server Connections |
| | | | Using the SQL Query Tools |
| | | | Creating SELECT Queries |
| | | | Creating and Querying Views |
| | | | Implementing Business Rules |
| | | | User-Defined (Aliased) Types |
| | | | Implementing Constraints |
| | | | Managing Databases and Queries with Batches and Scripts |
| | | | The Query Optimizer and the Query Plan |
| | | | Understanding the Buffer Cache |
| | | | Executing Action Commands |
| | | | Introducing Stored Procedures |
| | | | Introducing Triggers |
| | | | Using Transactions to Protect Data Integrity |
| | | | Administrative Functions |
| | | | Working with the Transaction Log |
| | | | Summary |
| | | Chapter 3. Relational Databases 101 |
| | | | Introduction |
| | | | Getting Started with Solid Database Design |
| | | | Understanding Relational Database Normalization |
| | | | Creating Tables, Rows, and Columns |
| | | | Summary |
| | | Chapter 4. Getting Started with Visual Studio |
| | | | Introduction |
| | | | How I Got Here |
| | | | Installing the "Right" Version of Visual Studio |
| | | | Launching Visual Studio |
| | | | Customizing Visual Studio 2005 |
| | | | Configuring Server (or Database) Explorers |
| | | | Creating and Managing Database Connections |
| | | | Managing Database Objects with the Server Explorer |
| | | | Managing Queries with the Query Designer |
| | | | Using the Server Explorer to View Synonyms |
| | | | Using the Server Explorer to Manage Types |
| | | | Using the Server Explorer to Manage Assemblies |
| | | | Using the Server Explorer to Manage Servers |
| | | | Summary |
| | | Chapter 5. Managing Executables with the Server Explorer |
| | | | Introduction |
| | | | Creating and Editing Stored Procedures |
| | | | Creating New Stored Procedures |
| | | | Executing T-SQL with Run Selection |
| | | | Debugging Stored Procedures |
| | | | Debugging Stored Procedures on Remote Instances |
| | | | Debugging Stored Procedures from Code |
| | | | Using the Server Explorer to Manage Functions |
| | | | Summary |
| | | Chapter 6. Building Data Sources, DataSets, and TableAdapters |
| | | | Why Create YADAI? |
| | | | Is Strongly Typed Data Important? |
| | | | What Is a Data Source? |
| | | | What Is a TableAdapter? |
| | | | What's Missing in the TableAdapter? |
| | | | Creating Database-Based Data Sources |
| | | | Configuring a TableAdapter |
| | | | Binding to the TableAdapter Using Drag and Drop |
| | | | Using a TableAdapter DirectlyWithout Drag-and-Drop? |
| | | | Managing DataTable Classes in the Data Source Designer |
| | | | Moving Data Sources Between Applications |
| | | | Creating Web Service Data Sources |
| | | | Summary |
| | | Chapter 7. Managing Data Tools and Data Binding |
| | | | Introduction |
| | | | Touring the Visual Studio Toolbox |
| | | | Using the DataSet Toolbox Element |
| | | | Introduction to Data Binding |
| | | | Using the BindingSource Class |
| | | | Using the BindingNavigator Control |
| | | | Using the DataGridView Control |
| | | | Using the ProgressBar Control |
| | | | Summary |
| | | Chapter 8. Getting Started with ADO.NET |
| | | | Introduction |
| | | | Approaching Data Access Challenges |
| | | | ADO.NET from 50,000 Feet |
| | | | Using the Visual Studio Object Browser to Explore ADO.NET |
| | | | Instantiating ADO.NET Objects |
| | | | Exploring the System.Data.SqlClient Namespace |
| | | | Exploring the SqlClient Namespace |
| | | | Exploring the System.Data Namespace |
| | | | Summary |
| | | Chapter 9. Getting Connected |
| | | | Introduction |
| | | | Connectivity StrategiesThat Include Security |
| | | | Configuring the Server and Firewall |
| | | | Connection Strategies |
| | | | Establishing a Connection |
| | | | Writing Code to Create Connections |
| | | | Understanding and Managing the Connection Pool |
| | | | Building a ConnectionString for Other Providers |
| | | | Getting Visual Studio to Build Your ConnectionString |
| | | | Opening and Closing Connections (Semi-) Automatically |
| | | | Understanding the Connection Properties |
| | | | Using the Connection Methods |
| | | | Handling Connection Events |
| | | | Managing Connection Exceptions |
| | | | Summary |
| | | Chapter 10. Managing SqlCommand Objects |
| | | | Introduction |
| | | | Creating SqlCommand Objects |
| | | | Integrating Ad Hoc Queries into Your Application |
| | | | Coding Parameter Queries |
| | | | Validating the Value |
| | | | Executing Stored Procedures |
| | | | Summary |
| | | Chapter 11. Executing SqlCommand Objects |
| | | | Introduction |
| | | | Executing SqlCommand Objects Synchronously |
| | | | Understanding the SqlDataReader |
| | | | Populating Data Structures |
| | | | Fetching Rows Asynchronously |
| | | | Executing Commands Asynchronously |
| | | | Summary |
| | | Chapter 12. Managing Updates |
| | | | Introduction |
| | | | Using Wizards to Generate Update Action Commands |
| | | | Update Alternatives: Using the TableAdapter Configuration Wizard |
| | | | Complex Updates with Server-Side Logic |
| | | | Managing Concurrency by Design or Collision |
| | | | Summary |
| | | Chapter 13. Managing SQL Server CLR Executables |
| | | | Introduction |
| | | | Evolving CLR Executables Technology |
| | | | Where Do CLR Executables Make Sense? |
| | | | Designing a CLR Executable |
| | | | Building Your First CLR Executable |
| | | | Building and Deploying a CLR Executable |
| | | | Setting Up a Test Environment |
| | | | Working with ADO.NET from Within CLR Executables |
| | | | Coding CLR Stored Procedures |
| | | | Implementing Basic User-Defined Type (UDT) CLR Executables |
| | | | Implementing Advanced CLR User Defined Types |
| | | | Accessing CLR UDTs Elsewhere |
| | | | Implementing CLR Aggregate Executables |
| | | | Implementing CLR Triggers |
| | | | Advanced Debugging |
| | | | UDT Safety and IP Security |
| | | | Summary |
| | | Chapter 14. Creating and Managing Reports |
| | | | Introduction |
| | | | Understanding Reporting Services and RDL |
| | | | Visual Studio 2005 Reporting |
| | | | What Are the Visual Studio 2005 Report Tools? |
| | | | Building Your First Report |
| | | | Exploring the ReportViewer Class in Depth |
| | | | Managing Server Reports |
| | | | Managing Parameters |
| | | | Advanced Reporting Techniques |
| | | | Implementing the Matrix Report |
| | | | Summary |
| | | Chapter 15. Summary and Wintry: Where We Are Now |
| | | Appendix I. Installing the Examples and Test Databases |
| | | | Installing the Examples |
| | | | Installing the Example Databases |
| | | | Chapter-Specific Configuration Issues |
| | | | Summary |
| | | Appendix II. Reinstalling the DACW and Other Missing Functionality in Visual Studio |
| | | Appendix III. Monitoring SQL Server |
| | | | Monitoring SQL Server with the SQL Profiler |
| | | | Monitoring SQL Server and ADO.NET with Performance Counters |
| | | | Summary |
| | | Appendix IV. Creating and Managing Server-Side Cursors |
| | | | Why Are Server-side Cursors Important? |
| | | | How Does ADO.NET Implement Cursors? |
| | | | How Are Server-Side Cursors Managed? |
| | | | How Can ADO.NET Create a Server-Side Cursor? |
| | | | Fetching Data from the Cursor |
| | | | Updating with a Server-Side Cursor |
| | | | Summary |
| | | Index |