| Foreword | p. xi |
| About the Author | p. xiv |
| About the Technical Reviewer | p. xv |
| Acknowledgments | p. xvi |
| Introduction | p. xvii |
| Introduction to C# | p. 1 |
| Understanding the C# Language | p. 1 |
| Writing Your First C# Program: "Hello, C# World!" | p. 6 |
| Understanding C# Components | p. 7 |
| Summary | p. 68 |
| Introduction to Windows Forms | p. 69 |
| Design-Time versus Run-Time Development | p. 69 |
| Writing a Command-Line Windows Forms Application | p. 70 |
| Writing a Windows Forms Application Using the VS .NET IDE | p. 78 |
| Windows.Forms Namespace | p. 100 |
| Summary | p. 121 |
| Overview of ADO.NET | p. 123 |
| What Is ADO.NET? | p. 123 |
| Why ADO.NET Was Designed | p. 125 |
| Advantages of ADO.NET | p. 126 |
| Comparing ADO.NET and ADO | p. 128 |
| Overview of ADO.NET Namespaces and Classes | p. 129 |
| Understanding ADO.NET Components | p. 132 |
| Writing ADO.NET Applications | p. 138 |
| Creating a Sample ADO.NET Application | p. 142 |
| Writing a Simple ADO.NET Program with Visual Studio .NET IDE | p. 145 |
| Summary | p. 151 |
| Data Components in Visual Studio .NET | p. 153 |
| Creating Your ADO.NET Project | p. 153 |
| Using the Server Explorer | p. 154 |
| Using Visual Data Components | p. 162 |
| Using DataSet and DataView Components | p. 199 |
| Using the Data Form Wizard | p. 208 |
| Data Form Wizard: Looking under the Hood | p. 223 |
| Summary | p. 227 |
| ADO.NET Data Providers and Disconnected Classes | p. 229 |
| Looking at the ADO.NET Architecture | p. 230 |
| Exploring the ADO.NET Class Hierarchy | p. 232 |
| Understanding ADO.NET Disconnected Classes | p. 237 |
| Using DataSet, DataView, and DataViewManager | p. 273 |
| Using ADO.NET Data Providers | p. 279 |
| Summary | p. 353 |
| Working with XML | p. 355 |
| Defining XML-Related Terminology | p. 355 |
| XML Overview | p. 359 |
| DOM Overview | p. 372 |
| Microsoft .NET and XML | p. 375 |
| Reading XML | p. 380 |
| The XmlWriter Classes | p. 388 |
| The XmlConvert Class | p. 393 |
| Understanding the DOM Implementation | p. 393 |
| Transformation and XSLT | p. 402 |
| ADO.NET and XML | p. 405 |
| Navigation in XML | p. 415 |
| Visual Studio .NET and XML Support | p. 420 |
| Summary | p. 433 |
| Developing Web Applications Using ADO.NET | p. 435 |
| Introducing ASP.NET | p. 435 |
| Understanding Web Forms and Web Services | p. 437 |
| Developing Your First ASP.NET Web Application | p. 438 |
| Creating Your First ADO.NET Web Application | p. 450 |
| Using ASP.NET Server-Side Controls | p. 455 |
| Data Binding in ASP.NET | p. 462 |
| Creating a Guest Book in ASP.NET | p. 478 |
| Paging in DataGrid Control | p. 490 |
| Adding, Editing, and Deleting Data in Web Forms | p. 496 |
| Introducing the Table Web Control | p. 503 |
| Summary | p. 509 |
| Using Web Services with ADO.NET | p. 511 |
| Exploring Web Services and the .NET Framework Library | p. 512 |
| Creating a Web Service in VS .NET | p. 512 |
| Testing Your Web Service | p. 521 |
| Creating the Web Service Consumer | p. 525 |
| Executing Asynchronous Web Services | p. 539 |
| Summary | p. 543 |
| Handling ADO.NET Events | p. 545 |
| Introducing ADO.NET Events | p. 545 |
| Summary | p. 570 |
| Different Flavors of ADO.NET | p. 573 |
| Working with Stored Procedures and Views | p. 573 |
| COM Interoperability | p. 594 |
| Using the ADO Recordset in ADO.NET | p. 595 |
| Using ADOX with ADO.NET | p. 598 |
| Accessing OLAP Server Data with ADO.NET | p. 600 |
| Summary | p. 612 |
| Working with the ODBC .NET Data Provider | p. 613 |
| Understanding the ODBC .NET Data Provider | p. 613 |
| Accessing MySOL Databases | p. 621 |
| Accessing Text File Databases | p. 633 |
| Accessing Excel Databases | p. 641 |
| Working with Oracle Databases | p. 644 |
| Working with Sybase Databases | p. 651 |
| Summary | p. 652 |
| Relational Databases: Some Basic Concepts | p. 653 |
| Understanding Normalization | p. 654 |
| Introducing Sets, Cursors, and ADO.NET | p. 660 |
| Using Locking | p. 661 |
| References and Resources | p. 666 |
| Commonly Used SOL Statements | p. 667 |
| Understanding SOL References | p. 667 |
| Understanding Views | p. 680 |
| Using SOL Server's SELECT...FOR XML Clause | p. 682 |
| References and Resources | p. 682 |
| Index | p. 685 |
| Table of Contents provided by Syndetics. All Rights Reserved. |