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. For example, 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.
Note that if you want to derive update commands, you
don't supply the SELECT command directly. Instead,
you supply a OleDbDataAdapter , either by setting
the DataAdapter property or using the constructor
that accepts a OleDbDataAdapter . The
OleDbCommandBuilder uses the
OleDbDataAdapter.SelectCommand property to
retrieve the required meta data from the data source. Note that the
SELECT command must return at least one primary key or unique column
to generate the commands. If you change the
OleDbDataAdapter.SelectCommand after the meta data
has been retrieved, you should call the RefreshSchema(
) method.
public sealed class OleDbCommandBuilder : System.ComponentModel.Component {
// Public Constructors
public OleDbCommandBuilder( );
public OleDbCommandBuilder( OleDbDataAdapter adapter);
// Public Instance Properties
public OleDbDataAdapter DataAdapter{set; get; }
public string QuotePrefix{set; get; }
public string QuoteSuffix{set; get; }
// Public Static Methods
public static void DeriveParameters(OleDbCommand command);
// Public Instance Methods
public OleDbCommand GetDeleteCommand( );
public OleDbCommand GetInsertCommand( );
public OleDbCommand GetUpdateCommand( );
public void RefreshSchema( );
// Protected Instance Methods
protected override void Dispose( bool disposing); // overrides System.ComponentModel.Component
}