Name
SqlCommandBuilder
Synopsis
This class serves two functions. It can automatically retrieve
information about the parameters used by a stored procedure (through
the DeriveParameters( )
method), and it can
automatically generate matching UPDATE, INSERT, and DELETE SQL
commands based on a SELECT query. Note that both features, while
convenient, suffer from some problems. First of all, the
DeriveParameters( )
method requires an extra call
to the database. The command-generation methods
don’t produce optimal SQL syntax: by default they
select records by matching every field, not just a single key value;
they don’t support join queries; and they
can’t use stored procedures. Chapter 30 explains how to use the
SqlCommandBuilder
.
Note that if you want to derive update commands, you
don’t supply the SELECT command directly. Instead,
you supply a SqlDataAdapter
, either by setting
the DataAdapter
property or using the constructor
that accepts a SqlDataAdapter
. The
SqlCommandBuilder
uses the
SqlDataAdapter.SelectCommand
property to retrieve
the required meta data from the data source. Note that, in order for
the commands to be generated, this Select command must return at
least one primary key or unique column. If you change the
SqlDataAdapter.SelectCommand
after the meta data
has been retrieved, you should call the RefreshSchema( )
method.
public sealed class SqlCommandBuilder : System.ComponentModel.Component { // Public Constructors public SqlCommandBuilder( ); public SqlCommandBuilder(SqlDataAdapter ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.