ADO.NET 3.5 Cookbook. Building Data-Centric .NET Applications. 2nd Edition - Helion

ISBN: 978-05-965-5529-0
stron: 982, Format: ebook
Data wydania: 2008-03-28
Księgarnia: Helion
Cena książki: 143,65 zł (poprzednio: 167,03 zł)
Oszczędzasz: 14% (-23,38 zł)
This guide is strikingly different from other books on Microsoft ADO.NET. Rather than load you down with theory, the new edition of ADO.NET 3.5 Cookbook gives you more than 200 coding solutions and best practices for real problems you're likely to face with this technology using Visual Studio 2008 and the .NET 3.5 platform.
Organized to help you find the topic and specific recipe you need quickly and easily, this book is more than just a handy compilation of cut-and-paste C# code. ADO.NET 3.5 Cookbook also offers clear explanations of how and why each code solution works, and warns you of potential pitfalls so you can learn to adapt the book's problem-solving techniques to different situations.
This collection of timesaving recipes covers vital topics including:
- Connecting to data
- Retrieving and managing data
- Transforming and analyzing data
- Modifying data
- Binding data to .NET user interfaces
- Optimizing .NET data access
- Enumerating and maintaining database objects
- Maintaining database integrity
Osoby które kupowały "ADO.NET 3.5 Cookbook. Building Data-Centric .NET Applications. 2nd Edition", wybierały także:
- Gray Hat C#. Język C# w kontroli i łamaniu zabezpieczeń 57,74 zł, (17,90 zł -69%)
- PowerShell. Kurs video. Zarz 169,00 zł, (67,60 zł -60%)
- ASP .NET Core. Kurs video. Rozwijanie dodatkowych funkcjonalności Web API 89,00 zł, (35,60 zł -60%)
- ASP.NET Core. Kurs video. Tworzenie REST Web API 48,98 zł, (19,59 zł -60%)
- Programowanie asynchroniczne i równoległe w C#. Kurs video. Poziom podstawowy 69,00 zł, (31,05 zł -55%)
Spis treści
ADO.NET 3.5 Cookbook. Building Data-Centric .NET Applications. 2nd Edition eBook -- spis treści
- ADO.NET 3.5 Cookbook, 2nd Edition
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- Whats New in the Second Edition
- Who This Book Is For
- What You Need to Use This Book
- How This Book Is Organized
- What Was Left Out
- Conventions Used in This Book
- About the Code
- Using Code Examples
- Comments and Questions
- Safari Books Online
- Acknowledgments
- 1. Connecting to Data
- 1.0. Introduction
- ADO.NET Overview
- Connections, Connection Strings, and Connection Pooling
- 1.1. Storing Connection Strings
- Problem
- Solution
- Discussion
- Application configuration file
- Protected configuration
- Hardcode in the application
- Universal data link (UDL) file
- Windows registry
- Custom file
- 1.2. Building a Connection String
- Problem
- Solution
- Discussion
- 1.3. Connecting to SQL Server
- Problem
- Solution
- Discussion
- Native SQL Server
- OLE DB
- ODBC
- 1.4. Connecting to a Named Instance of SQL Server
- Problem
- Solution
- Discussion
- 1.5. Connecting to SQL Server Using an IP Address
- Problem
- Solution
- Discussion
- 1.6. Connecting to SQL Server Using Integrated Security from ASP.NET
- Problem
- Solution
- Discussion
- 1.7. Connecting to an Oracle Database
- Problem
- Solution
- Discussion
- Native Oracle
- OLE DB
- ODBC
- 1.8. Connecting to an OLE DB Data Source
- Problem
- Solution
- Discussion
- 1.9. Connecting to an ODBC Data Source
- Problem
- Solution
- Discussion
- 1.10. Connecting to a Microsoft Access Database
- Problem
- Solution
- Discussion
- 1.11. Connecting to a Password-Protected Microsoft Access Database
- Problem
- Solution
- Discussion
- 1.12. Connecting to a Microsoft Access Database from ASP.NET
- Problem
- Solution
- Discussion
- Configure IIS
- Configure the Access computer
- 1.13. Connecting to a Microsoft Excel Workbook
- Problem
- Solution
- Discussion
- 1.14. Connecting to a Text File
- Problem
- Solution
- Discussion
- 1.15. Changing the Database for an Open Connection
- Problem
- Solution
- Discussion
- 1.16. Setting Connection Pooling Options
- Problem
- Solution
- Discussion
- SQL Server
- Oracle
- OLE DB
- ODBC
- 1.17. Taking Advantage of Connection Pooling
- Problem
- Solution
- Discussion
- SQL Server and Oracle
- OLE DB
- ODBC
- 1.18. Using Transactions with Pooled Connections
- Problem
- Solution
- Discussion
- 1.19. Displaying a Connection Property Dialog Box
- Problem
- Solution
- Discussion
- 1.20. Displaying the Data Link Properties Dialog Box
- Problem
- Solution
- Discussion
- 1.21. Monitoring Connections
- Problem
- Solution
- Discussion
- SQL Server
- ODBC
- 1.0. Introduction
- 2. Working with Disconnected Data Objects
- 2.0. Introduction
- 2.1. Creating a DataColumn and Adding It to a DataTable
- Problem
- Solution
- Discussion
- 2.2. Creating a DataTable and Adding It to a DataSet
- Problem
- Solution
- Discussion
- 2.3. Mapping Table and Column Names Between a Data Source and DataSet
- Problem
- Solution
- Discussion
- 2.4. Mapping .NET Data Provider Data Types to .NET Framework Data Types
- Problem
- Solution
- Discussion
- 2.5. Adding a Calculated Column to a DataTable
- Problem
- Solution
- Discussion
- 2.6. Creating a Unique Constraint
- Problem
- Solution
- Discussion
- 2.7. Creating Single- and Multi-Column Primary Keys
- Problem
- Solution
- Discussion
- 2.8. Creating an Autoincrementing Primary Key
- Problem
- Solution
- Discussion
- 2.9. Creating a Foreign Key Constraint
- Problem
- Solution
- Discussion
- 2.10. Creating a Data Relation
- Problem
- Solution
- Discussion
- 2.11. Building a DataSet Programmatically
- Problem
- Solution
- Discussion
- 2.12. Adding a Column to a Child DataTable That Displays Data from the Parent Table
- Problem
- Solution
- Discussion
- 2.13. Adding a Column to a Parent DataTable That Aggregates a Child Table's Column Values
- Problem
- Solution
- Discussion
- 2.14. Converting Between a DataTable and a DataRow Array
- Problem
- Solution
- Discussion
- 2.15. Accessing Data Values in a DataRow Array
- Problem
- Solution
- Discussion
- 2.16. Creating a Strongly Typed DataSet
- Problem
- Solution
- Using the Visual Studio .NET IDE to generate a typed DataSet
- Using an XSD schema file to generate a typed DataSet
- Discussion
- 2.17. Controlling the Names Used in a Strongly Typed DataSet
- Problem
- Solution
- Discussion
- 2.18. Replacing Null Values in a Strongly Typed DataSet
- Problem
- Solution
- Discussion
- 3. Querying and Retrieving Data
- 3.0. Introduction
- 3.1. Executing a Query That Does Not Return a Result Set
- Problem
- Solution
- Discussion
- 3.2. Executing a Query That Returns a Single Value
- Problem
- Solution
- Discussion
- 3.3. Retrieving a Result Set Stream Using a DataReader
- Problem
- Solution
- Discussion
- 3.4. Accessing Data Values in a DataReader
- Problem
- Solution
- Discussion
- 3.5. Retrieving a Result Set Using a DataTable or a DataSet
- Problem
- Solution
- Discussion
- 3.6. Accessing Data Values in a DataTable or DataSet
- Problem
- Solution
- Discussion
- 3.7. Working with Data in a Strongly Typed DataSet
- Problem
- Solution
- Discussion
- 3.8. Working with Parent-Child Relations in a Strongly Typed DataSet
- Problem
- Solution
- Discussion
- 3.9. Using a DataView with a Strongly Typed DataSet
- Problem
- Solution
- Discussion
- 3.10. Testing Whether a Query Returns an Empty Result Set
- Problem
- Solution
- Discussion
- 3.11. Counting Records Meeting Criteria
- Problem
- Solution
- Discussion
- 3.12. Determining the Number of Records Returned in a DataReader
- Problem
- Solution
- Discussion
- 3.13. Executing a Query That Returns Multiple Result Sets
- Problem
- Solution
- Discussion
- DataSet
- DataReader
- 3.14. Retrieving Schema and Constraints for a DataSet
- Problem
- Solution
- Discussion
- 3.15. Retrieving Hierarchical Data
- Problem
- Solution
- Discussion
- 3.16. Navigating Between Parent and Child Tables in an Untyped DataSet
- Problem
- Solution
- Discussion
- 3.17. Executing a Parameterized Query
- Problem
- Solution
- Discussion
- 3.18. Retrieving Data Using a SQL Server Stored Procedure
- Problem
- Solution
- Discussion
- 3.19. Retrieving Multiple Result Sets Using the Oracle Provider
- Problem
- Solution
- Discussion
- 3.20. Passing a Null Value to a Query Parameter
- Problem
- Solution
- Discussion
- 3.21. Using Table-Valued Types As Parameters
- Problem
- Solution
- Discussion
- 3.22. Retrieving a Return Value from a Stored Procedure
- Problem
- Solution
- Discussion
- 3.23. Retrieving a Stored Procedure Output Parameter
- Problem
- Solution
- Discussion
- 3.24. Raising and Handling Stored Procedure Errors
- Problem
- Solution
- Discussion
- 3.25. Executing a SQL Server Scalar-Valued Function
- Problem
- Solution
- Discussion
- 3.26. Executing a SQL Server Table-Valued Function
- Problem
- Solution
- Discussion
- 3.27. Querying a DataSet Using LINQ
- Problem
- Solution
- Discussion
- LINQ queries
- LINQ to DataSet
- Solution
- 3.28. Querying a SQL Server Database Using LINQ
- Problem
- Solution
- Discussion
- 3.29. Retrieving Data from a Text File
- Problem
- Solution
- Discussion
- 3.30. Retrieving Data from a Microsoft Excel Workbook
- Problem
- Solution
- Discussion
- Create table
- Create data
- Retrieve data
- Update data
- Delete data
- 3.31. Querying Data Asynchronously with Message Queuing
- Problem
- Solution
- Discussion
- 4. Searching and Analyzing Data
- 4.0. Introduction
- 4.1. Determining the Differences in Data Between Two DataSet Objects
- Problem
- Solution
- Discussion
- 4.2. Combining Data from Heterogeneous Data Sources
- Problem
- Solution
- Discussion
- 4.3. Filtering Rows in a DataTable or DataView
- Problem
- Solution
- Discussion
- 4.4. Finding Rows in a DataTable or DataView
- Problem
- Solution
- Discussion
- 4.5. Filtering and Sorting Data in a DataTable
- Problem
- Solution
- Discussion
- 4.6. Filtering Null Field Values in a DataTable
- Problem
- Solutions
- Discussion
- 4.7. Accessing Deleted Rows in a DataTable
- Problem
- Solution
- Discussion
- 4.8. Selecting the Top N Rows in a DataTable
- Problem
- Solution
- Discussion
- 4.9. Executing Queries That Use COMPUTE BY
- Problem
- Solution
- Discussion
- 4.10. Using the Shape Language to Retrieve Hierarchical Data
- Problem
- Solution
- Discussion
- 4.11. Retrieving a Random Sample of Records
- Problem
- Solution
- Discussion
- 4.12. Using a Common Table Expression (CTE)
- Problem
- Solution
- Discussion
- 4.13. Executing a Recursive Query
- Problem
- Solution
- Discussion
- 4.14. Retrieving a Ranked Result Set
- Problem
- Solution
- Discussion
- ROW_NUMBER()
- RANK()
- DENSE_RANK()
- NTILE()
- 4.15. Retrieving a Pivot and Unpivot Table
- Problem
- Solution
- Discussion
- PIVOT
- UNPIVOT
- 4.16. Invoking a Function for Each Row in a Result Set
- Problem
- Solution
- Discussion
- 5. Adding and Modifying Data
- 5.0. Introduction
- 5.1. Using Autoincrementing Columns Without Causing Conflicts
- Problem
- Solution
- Discussion
- 5.2. Getting an Identity Column Value from SQL Server
- Problem
- Solution
- Discussion
- 5.3. Getting an AutoNumber Value from Microsoft Access
- Problem
- Solution
- Discussion
- 5.4. Getting a Sequence Value from Oracle
- Problem
- Solution
- Discussion
- 5.5. Modifying Data in a Microsoft Excel Workbook
- Problem
- Solution
- Discussion
- 5.6. Modifying Data in a Text File
- Problem
- Solution
- Discussion
- 5.7. Retrieving Update Errors
- Problem
- Solution
- Discussion
- 5.8. Adding Parent/Child Rows with Autoincrementing Keys
- Problem
- Solution
- Discussion
- 5.9. Adding Records with a GUID Primary Key
- Problem
- Solution
- Discussion
- 5.10. Inserting Multiple Rows into a Database Table Using T-SQL Row Constructors
- Problem
- Solution
- Discussion
- 5.11. Updating a Data Source with Data from a Different Data Source
- Problem
- Solution
- Discussion
- 5.12. Updating a Primary Key Value
- Problem
- Solution
- Discussion
- 5.13. Getting Stored Procedure Parameter Information at Runtime
- Problem
- Solution
- Discussion
- DeriveParameters( ) method
- Microsoft SQL Server System stored procedure: sp_sproc_columns
- Catalog views
- Information schema views
- 5.14. Updating a DataSet with a Many-to-Many Relationship
- Problem
- Solution
- Discussion
- 5.15. Updating Data Asynchronously Using Message Queuing
- Problem
- Solution
- Discussion
- 5.16. Controlling Edits, Deletions, or Additions to Data with a DataView
- Problem
- Solution
- Discussion
- 5.17. Overcoming Keyword Conflicts When Using a CommandBuilder
- Problem
- Solution
- Discussion
- 5.18. Capturing Changes to Data in a SQL Server Database
- Problem
- Solution
- Discussion
- 6. Copying and Transferring Data
- 6.0. Introduction
- 6.1. Copying Rows from One DataTable to Another
- Problem
- Solution
- Discussion
- 6.2. Copying Tables from One DataSet to Another
- Problem
- Solution
- Discussion
- 6.3. Converting a DataReader to a DataTable
- Problem
- Solution
- Discussion
- DataTable.Load( ) approach
- Programmatic approach
- 6.4. Converting a DataReader to a DataSet
- Problem
- Solution
- Discussion
- 6.5. Converting a DataTable to a DataReader
- Problem
- Solution
- Discussion
- 6.6. Converting a DataSet to a DataReader
- Problem
- Solution
- Discussion
- 6.7. Serializing Data
- Problem
- Solution
- Discussion
- 6.8. Deserializing Data
- Problem
- Solution
- Discussion
- 6.9. Merging Data in Two DataSet Objects
- Problem
- Solution
- Discussion
- 6.10. Merging Data in Two Database Tables
- Problem
- Solution
- Discussion
- 6.11. Encrypting a DataSet
- Problem
- Solution
- Discussion
- 6.12. Securing Login Credentials
- Problem
- Solution
- Discussion
- 6.13. Exporting the Results of a Query As a String
- Problem
- Solution
- Discussion
- Parameters
- 6.14. Exporting the Results of a Query to an Array
- Problem
- Solution
- Discussion
- Parameters
- 6.15. Loading an ADO Recordset into a DataSet
- Problem
- Solution
- Discussion
- 6.16. Converting a DataSet to an ADO Recordset
- Problem
- Solution
- Discussion
- 7. Maintaining Database Integrity
- 7.0. Introduction
- 7.1. Using Distributed Transactions
- Problem
- Solution
- Discussion
- 7.2. Using Manual Transactions
- Problem
- Solution
- Discussion
- 7.3. Nesting Manual Transactions with the SQL Server .NET Data Provider
- Problem
- Solution
- Discussion
- 7.4. Using ADO.NET and SQL Server DBMS Transactions Together
- Problem
- Solution
- Discussion
- 7.5. Using a Transaction with a DataAdapter
- Problem
- Solution
- Discussion
- 7.6. Avoiding Referential Integrity Problems when Updating Data in Related Tables
- Problem
- Solution
- Discussion
- 7.7. Enforcing Business Rules with Column Expressions
- Problem
- Solution
- Discussion
- 7.8. Retrieving Constraints from a SQL Server Database
- Problem
- Solution
- Discussion
- SQL Server Management Objects
- Catalog views
- Information schema views
- 7.9. Checking for Concurrency Violations
- Problem
- Solution
- Discussion
- 7.10. Resolving Data Conflicts
- Problem
- Solution
- Discussion
- 7.11. Using Transaction Isolation Levels to Protect Data
- Problem
- Solution
- Discussion
- 7.12. Specifying Locking Hints in a SQL Server Database
- Problem
- Solution
- Discussion
- 8. Programmatically Working with Data in .NET Windows and Web Forms User Interfaces
- 8.0. Introduction
- 8.1. Loading Data into and Binding a Field to a Web Forms Control
- Problem
- Solution
- Discussion
- 8.2. Binding Data to a Web Forms Control
- Problem
- Solution
- Discussion
- 8.3. Binding Data to a Web Forms DetailsView Control
- Problem
- Solution
- Discussion
- 8.4. Binding Data to a Web Forms Repeater Control
- Problem
- Solution
- Discussion
- 8.5. Binding Data to a Web Forms DataList Control
- Problem
- Solution
- Discussion
- 8.6. Binding Data to a Web Forms GridView Control
- Problem
- Solution
- Discussion
- 8.7. Modifying and Updating Data in a Web Forms GridView Control
- Problem
- Solution
- Discussion
- 8.8. Binding Data to a Web Forms FormView Control
- Problem
- Solution
- Discussion
- 8.9. Synchronizing Master-Detail Data in a Web Forms Application
- Problem
- Solution
- Discussion
- 8.10. Displaying an Image from a Database in a Web Forms Control
- Problem
- Solution
- Discussion
- 8.11. Localizing Client-Side Data in a Web Forms Application
- Problem
- Solution
- Discussion
- 8.12. Loading Data into and Binding a Field to a Windows Forms Control
- Problem
- Solution
- Discussion
- 8.13. Binding Data to a Windows Forms Control
- Problem
- Solution
- Discussion
- 8.14. Binding Data to a Windows Forms DataGridView Control
- Problem
- Solution
- Discussion
- 8.15. Modifying and Updating Data in a Windows Forms DataGridView Control
- Problem
- Solution
- Discussion
- 8.16. Using Windows Forms BindingNavigator and BindingSource Controls
- Problem
- Solution
- Discussion
- 8.17. Synchronizing Master-Detail Data in a Windows Forms Application
- Problem
- Solution
- Discussion
- 8.18. Displaying an Image from a Database in a Windows Forms Control
- Problem
- Solution
- Discussion
- 8.19. Binding a Group of Radio Buttons to a Windows Forms Data Field
- Problem
- Solution
- Discussion
- 8.20. Searching a Windows Forms DataGridView Control
- Problem
- Solution
- Discussion
- 9. Working with XML Data
- 9.0. Introduction
- 9.1. Using an XML File to Save and Load a DataSet or a DataTable
- Problem
- Solution
- Discussion
- 9.2. Using XSD Schema Files to Save and Load a DataSet Structure
- Problem
- Solution
- Discussion
- 9.3. Formatting Column Values When Saving Data As XML
- Problem
- Solution
- Discussion
- 9.4. Creating an XML File That Shows Changes Made to a DataSet
- Problem
- Solution
- Discussion
- 9.5. Synchronizing a DataSet and an XML Document
- Problem
- Solution
- Discussion
- 9.6. Storing and Retrieving XML with a Non-XML Data Type Column
- Problem
- Solution
- Discussion
- 9.7. Working with a SQL Server XML Data Type Column
- Problem
- Solution
- Discussion
- 9.8. Using an XPath Query to Retrieve Data
- Problem
- Solution
- Discussion
- 9.9. Reading XML Data Directly from SQL Server
- Problem
- Solution
- Discussion
- 9.10. Transforming a DataSet Using XSLT
- Problem
- Solution
- Discussion
- 9.11. Filling a DataSet Using an XML Template Query
- Problem
- Solution
- Discussion
- SQLXML Managed Classes
- Template queries
- 9.12. Using OpenXML to Update Multiple Changes to SQL Server
- Problem
- Solution
- Discussion
- 10. Optimizing .NET Data Access
- 10.0. Introduction
- 10.1. Executing Multiple Commands on a Single Connection
- Problem
- Solution
- Discussion
- 10.2. Executing a SQL Statement Asynchronously
- Problem
- Solution
- Discussion
- 10.3. Executing Simultaneous SQL Statements Asynchronously
- Problem
- Solution
- Discussion
- 10.4. Creating a DataReader Asynchronously
- Problem
- Solution
- Discussion
- 10.5. Filling a DataSet Asynchronously
- Problem
- Solution
- Discussion
- 10.6. Canceling an Asynchronous Query
- Problem
- Solution
- Discussion
- 10.7. Caching Data
- Problem
- Solution
- Discussion
- 10.8. Improving Paging Performance
- Problem
- Solution
- Discussion
- 10.9. XML Bulk Loading with SQL Server
- Problem
- Solution
- Discussion
- 10.10. Bulk Copying with SQL Server
- Problem
- Solution
- Discussion
- 10.11. Improving DataReader Performance with Typed Accessors
- Problem
- Solution
- Discussion
- 10.12. Improving DataReader Performance with Column Ordinals
- Problem
- Solution
- Discussion
- 10.13. Debugging a SQL Server Stored Procedure
- Problem
- Solution
- Discussion
- Debugging a stored procedure in standalone mode
- Debugging a stored procedure from managed code
- 10.14. Improving Performance While Filling a DataSet
- Problem
- Solution
- Discussion
- 10.15. Reading and Writing Large-Value Data with SQL Server
- Problem
- Solution
- Discussion
- 10.16. Reading and Writing a SQL Server User-Defined Type (UDT)
- Problem
- Solution
- Discussion
- 10.17. Reading and Writing Oracle Large Data
- Problem
- Solution
- Discussion
- 10.18. Performing Batch Updates with a DataAdapter
- Problem
- Solution
- Discussion
- 10.19. Automatically Refreshing a DataTable Periodically
- Problem
- Solution
- Discussion
- 10.20. Automatically Refreshing a DataTable When Underlying Data Changes
- Problem
- Solution
- Discussion
- 10.21. Retrieving SQL Server Runtime Statistics
- Problem
- Solution
- Discussion
- 10.22. Writing Provider- and Database-Independent Code
- Problem
- Solution
- Discussion
- ADO.NET 2.0 and later
- ADO.NET 1.1
- 11. Enumerating and Maintaining Database Objects
- 11.0. Introduction
- 11.1. Enumerating SQL Servers
- Problem
- Solution
- Discussion
- 11.2. Retrieving Database Metadata
- Problem
- Solution
- Discussion
- 11.3. Retrieving Database Schema Information from SQL Server
- Problem
- Solution
- Discussion
- Connection.GetSchema( ) method
- Catalog views
- Information schema views
- OleDbConnection.GetOleDbSchemaTable() method
- 11.4. Retrieving Column Default Values from SQL Server
- Problem
- Solution
- Discussion
- Catalog views
- sp_helpconstraint system stored procedure
- 11.5. Determining the Length of Columns in a SQL Server Table
- Problem
- Solution
- Discussion
- DataReader.GetSchemaTable( )
- Catalog views
- sp_help system stored procedure
- 11.6. Retrieving a SQL Server Query Plan
- Problem
- Solution
- Discussion
- 11.7. Retrieving SQL Server Column Metadata Without Returning Data
- Problem
- Solution
- Discussion
- 11.8. Creating a New SQL Server Database
- Problem
- Solution
- Discussion
- SQL Management Objects (SMO)
- Database Definition Language (DDL)
- 11.9. Adding a Table to a SQL Server Database
- Problem
- Solution
- Discussion
- SQL Management Objects (SMO)
- Database Definition Language (DDL)
- 11.10. Creating a Database Table from a DataTable Schema
- Problem
- Solution
- Discussion
- 11.11. Creating DataSet Relationships from SQL Server Relationships
- Problem
- Solution
- Discussion
- Catalog views
- Information schema views
- 11.12. Creating a New Microsoft Access Database
- Problem
- Solution
- Discussion
- 11.13. Listing Tables in an Access Database
- Problem
- Solution
- Discussion
- 11.14. Enumerating .NET Data Providers
- Problem
- Solution
- Discussion
- 11.15. Enumerating OLE DB Providers
- Problem
- Solution
- Discussion
- OleDbEnumerator.GetElements( ) method
- OleDbEnumerator GetEnumerator( ) method
- xp_enum_oledb_providers extended stored procedure
- Windows Registry
- 11.16. Enumerating ODBC Drivers
- Problem
- Solution
- Discussion
- 11.17. Changing a SQL Server User Password
- Problem
- Solution
- Discussion
- 12. SQL Server CLR Integration
- 12.0. Introduction
- ADO.NET In-Process Extensions Supporting CLR Programming
- SqlContext object
- SqlPipe object
- SqlTriggerContext object
- SqlDataRecord object
- Custom Attributes for CLR Routines
- ADO.NET In-Process Extensions Supporting CLR Programming
- 12.1. Creating a Stored Procedure
- Problem
- Solution
- Discussion
- 12.2. Creating a Scalar-Valued Function
- Problem
- Solution
- Discussion
- 12.3. Creating a Table-Valued Function
- Problem
- Solution
- Discussion
- 12.4. Creating an Aggregate Function
- Problem
- Solution
- Discussion
- 12.5. Creating a User-Defined Type
- Problem
- Solution
- Discussion
- 12.6. Creating a DML Trigger
- Problem
- Solution
- Discussion
- 12.7. Creating a DDL Trigger
- Problem
- Solution
- Discussion
- 12.0. Introduction
- A. What's New in ADO.NET Since Version 1.0
- A.1. ADO.NET 2.0
- Data Provider Enumeration and Factories
- Data Provider Enhancements
- Asynchronous processing
- Support for SQL Server notifications
- Multiple Active Result Sets
- Bulk copy
- Support for new SQL Server large-value data types
- Support for SQL Server user-defined types
- Support for snapshot isolation in transactions
- Database mirroring support
- Server enumeration
- Support for retrieving provider statistics in SQL Server 2005 and later
- Change password support
- Schema discovery
- Disconnected Class Enhancements
- DataSet and DataTable enhancements
- Batch processing with the DataAdapter
- A.2. ADO.NET 3.5
- LINQ
- LINQ queries
- LINQ to DataSet
- LINQ to SQL
- Table-Valued Parameters
- LINQ
- A.1. ADO.NET 2.0
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly





