[ Team LiB ] Previous Section Next Section

OleDbCommandBuilder marshal by reference, disposable

System.Data.OleDb (system.data.dll) sealed class

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
}

Hierarchy

System.Object figs/U2192.gif System.MarshalByRefObject figs/U2192.gif System.ComponentModel.Component(System.ComponentModel.IComponent, System.IDisposable) figs/U2192.gif OleDbCommandBuilder

    [ Team LiB ] Previous Section Next Section