SqlCommandBuilder marshal by reference, disposable

SqlCommandBuilder marshal by reference, disposable

System.Data.SqlClient (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: 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   adapter   );  // Public Instance Properties  public SqlDataAdapter  DataAdapter  {set; get; }     public string  QuotePrefix  {set; get; }     public string  QuoteSuffix  {set; get; }  // Public Static Methods  public static void  DeriveParameters  ( SqlCommand   command   );  // Public Instance Methods  public SqlCommand  GetDeleteCommand  (  );      public SqlCommand  GetInsertCommand  (  );      public SqlCommand  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 SqlCommandBuilder



ADO. NET in a Nutshell
ADO.NET in a Nutshell
ISBN: 0596003617
EAN: 2147483647
Year: 2005
Pages: 415

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net