Merge pull request #966 from ermshiperete/bug-xamarin-18511
[mono.git] / mcs / class / System.Data / Documentation / en / System.Data.Common / DbCommandBuilder.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <Type Name="DbCommandBuilder" FullName="System.Data.Common.DbCommandBuilder">
3   <TypeSignature Language="C#" Value="public abstract class DbCommandBuilder : System.ComponentModel.Component" />
4   <AssemblyInfo>
5     <AssemblyName>System.Data</AssemblyName>
6     <AssemblyVersion>2.0.0.0</AssemblyVersion>
7   </AssemblyInfo>
8   <Base>
9     <BaseTypeName>System.ComponentModel.Component</BaseTypeName>
10   </Base>
11   <Interfaces />
12   <Docs>
13     <since version=".NET 2.0" />
14     <remarks>
15       <attribution license="cc4" from="Microsoft" modified="false" />
16       <para>The <see cref="T:System.Data.Common.DbCommandBuilder" /> class is provided for the convenience of provider writers creating their own command builders. By inheriting from this class, developers can implement provider specific behavior in their own code.</para>
17       <para>The <see cref="T:System.Data.Common.DbDataAdapter" /> does not automatically generate the SQL statements required to reconcile changes made to a <see cref="T:System.Data.DataSet" /> with the associated data source. However, you can create a <see cref="T:System.Data.Common.DbCommandBuilder" /> object to automatically generate SQL statements for single-table updates if you set the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" /> property of the <see cref="T:System.Data.Common.DbDataAdapter" />. Then, any additional SQL statements that you do not set are generated by the <see cref="T:System.Data.Common.DbCommandBuilder" />.</para>
18       <para>The <see cref="T:System.Data.Common.DbCommandBuilder" /> registers itself as a listener for <see cref="E:System.Data.OleDb.OleDbDataAdapter.RowUpdating" /> events whenever you set the <see cref="P:System.Data.Common.DbCommandBuilder.DataAdapter" /> property. You can only associate one <see cref="T:System.Data.Common.DbDataAdapter" /> or <see cref="T:System.Data.Common.DbCommandBuilder" /> object with each other at one time.</para>
19       <para>To generate INSERT, UPDATE, or DELETE statements, the <see cref="T:System.Data.Common.DbCommandBuilder" /> uses the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" /> property to retrieve a required set of metadata automatically. If you change the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" /> after the metadata has been retrieved (for example, after the first update), you should call the <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> method to update the metadata.</para>
20       <para>The SelectCommand must also return at least one primary key or unique column. If none exist, an <see cref="T:System.InvalidOperationException" /> exception is generated, and the commands are not generated.</para>
21       <para>The <see cref="T:System.Data.Common.DbCommandBuilder" /> also uses the <see cref="P:System.Data.Common.DbCommand.Connection" />, <see cref="P:System.Data.Common.DbCommand.CommandTimeout" />, and <see cref="P:System.Data.Common.DbCommand.Transaction" /> properties referenced by the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" />. The user should call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if any of these properties are modified, or if the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" /> itself is replaced. Otherwise the <see cref="P:System.Data.Common.DbDataAdapter.InsertCommand" />, <see cref="P:System.Data.Common.DbDataAdapter.UpdateCommand" />, and <see cref="P:System.Data.Common.DbDataAdapter.DeleteCommand" /> properties retain their previous values.</para>
22       <para>If you call <see cref="M:System.ComponentModel.Component.Dispose" />, the <see cref="T:System.Data.Common.DbCommandBuilder" /> is disassociated from the <see cref="T:System.Data.Common.DbDataAdapter" />, and the generated commands are no longer used.</para>
23     </remarks>
24     <summary>
25       <attribution license="cc4" from="Microsoft" modified="false" />
26       <para>Automatically generates single-table commands used to reconcile changes made to a <see cref="T:System.Data.DataSet" /> with the associated database. This is an abstract class that can only be inherited.</para>
27     </summary>
28   </Docs>
29   <Members>
30     <Member MemberName=".ctor">
31       <MemberSignature Language="C#" Value="protected DbCommandBuilder ();" />
32       <MemberType>Constructor</MemberType>
33       <Parameters />
34       <Docs>
35         <remarks>To be added.</remarks>
36         <since version=".NET 2.0" />
37         <summary>
38           <attribution license="cc4" from="Microsoft" modified="false" />
39           <para>Initializes a new instance of a class that inherits from the <see cref="T:System.Data.Common.DbCommandBuilder" /> class. </para>
40         </summary>
41       </Docs>
42       <AssemblyInfo>
43         <AssemblyVersion>2.0.0.0</AssemblyVersion>
44       </AssemblyInfo>
45     </Member>
46     <Member MemberName="ApplyParameterInfo">
47       <MemberSignature Language="C#" Value="protected abstract void ApplyParameterInfo (System.Data.Common.DbParameter parameter, System.Data.DataRow row, System.Data.StatementType statementType, bool whereClause);" />
48       <MemberType>Method</MemberType>
49       <ReturnValue>
50         <ReturnType>System.Void</ReturnType>
51       </ReturnValue>
52       <Parameters>
53         <Parameter Name="parameter" Type="System.Data.Common.DbParameter" />
54         <Parameter Name="row" Type="System.Data.DataRow" />
55         <Parameter Name="statementType" Type="System.Data.StatementType" />
56         <Parameter Name="whereClause" Type="System.Boolean" />
57       </Parameters>
58       <Docs>
59         <since version=".NET 2.0" />
60         <remarks>
61           <attribution license="cc4" from="Microsoft" modified="false" />
62           <para>This method allows an implementation of the <see cref="T:System.Data.Common.DbCommandBuilder" /> class to handle provider-specific parameter properties.</para>
63         </remarks>
64         <summary>
65           <attribution license="cc4" from="Microsoft" modified="false" />
66           <para>Allows the provider implementation of the <see cref="T:System.Data.Common.DbCommandBuilder" /> class to handle additional parameter properties.</para>
67         </summary>
68         <param name="parameter">
69           <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Data.Common.DbParameter" /> to which the additional modifications are applied. </param>
70         <param name="row">
71           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.DataRow" /> from the schema table provided by <see cref="M:System.Data.Common.DbDataReader.GetSchemaTable" />. </param>
72         <param name="statementType">
73           <attribution license="cc4" from="Microsoft" modified="false" />The type of command being generated; INSERT, UPDATE or DELETE. </param>
74         <param name="whereClause">
75           <attribution license="cc4" from="Microsoft" modified="false" />true if the parameter is part of the update or delete WHERE clause, false if it is part of the insert or update values. </param>
76       </Docs>
77       <AssemblyInfo>
78         <AssemblyVersion>2.0.0.0</AssemblyVersion>
79       </AssemblyInfo>
80     </Member>
81     <Member MemberName="CatalogLocation">
82       <MemberSignature Language="C#" Value="public virtual System.Data.Common.CatalogLocation CatalogLocation { set; get; }" />
83       <MemberType>Property</MemberType>
84       <Attributes>
85         <Attribute>
86           <AttributeName>System.ComponentModel.DefaultValue(System.Data.Common.CatalogLocation.Start)</AttributeName>
87         </Attribute>
88       </Attributes>
89       <ReturnValue>
90         <ReturnType>System.Data.Common.CatalogLocation</ReturnType>
91       </ReturnValue>
92       <Docs>
93         <value>To be added.</value>
94         <remarks>To be added.</remarks>
95         <since version=".NET 2.0" />
96         <summary>
97           <attribution license="cc4" from="Microsoft" modified="false" />
98           <para>Sets or gets the <see cref="T:System.Data.Common.CatalogLocation" /> for an instance of the <see cref="T:System.Data.Common.DbCommandBuilder" /> class.</para>
99         </summary>
100       </Docs>
101       <AssemblyInfo>
102         <AssemblyVersion>2.0.0.0</AssemblyVersion>
103       </AssemblyInfo>
104     </Member>
105     <Member MemberName="CatalogSeparator">
106       <MemberSignature Language="C#" Value="public virtual string CatalogSeparator { set; get; }" />
107       <MemberType>Property</MemberType>
108       <Attributes>
109         <Attribute>
110           <AttributeName>System.ComponentModel.DefaultValue(".")</AttributeName>
111         </Attribute>
112       </Attributes>
113       <ReturnValue>
114         <ReturnType>System.String</ReturnType>
115       </ReturnValue>
116       <Docs>
117         <value>To be added.</value>
118         <remarks>To be added.</remarks>
119         <since version=".NET 2.0" />
120         <summary>
121           <attribution license="cc4" from="Microsoft" modified="false" />
122           <para>Sets or gets a string used as the catalog separator for an instance of the <see cref="T:System.Data.Common.DbCommandBuilder" /> class.</para>
123         </summary>
124       </Docs>
125       <AssemblyInfo>
126         <AssemblyVersion>2.0.0.0</AssemblyVersion>
127       </AssemblyInfo>
128     </Member>
129     <Member MemberName="ConflictOption">
130       <MemberSignature Language="C#" Value="public virtual System.Data.ConflictOption ConflictOption { set; get; }" />
131       <MemberType>Property</MemberType>
132       <Attributes>
133         <Attribute>
134           <AttributeName>System.ComponentModel.DefaultValue(System.Data.ConflictOption.CompareAllSearchableValues)</AttributeName>
135         </Attribute>
136       </Attributes>
137       <ReturnValue>
138         <ReturnType>System.Data.ConflictOption</ReturnType>
139       </ReturnValue>
140       <Docs>
141         <value>To be added.</value>
142         <remarks>To be added.</remarks>
143         <since version=".NET 2.0" />
144         <summary>
145           <attribution license="cc4" from="Microsoft" modified="false" />
146           <para>Specifies which <see cref="T:System.Data.ConflictOption" /> is to be used by the <see cref="T:System.Data.Common.DbCommandBuilder" />.</para>
147         </summary>
148       </Docs>
149       <AssemblyInfo>
150         <AssemblyVersion>2.0.0.0</AssemblyVersion>
151       </AssemblyInfo>
152     </Member>
153     <Member MemberName="DataAdapter">
154       <MemberSignature Language="C#" Value="public System.Data.Common.DbDataAdapter DataAdapter { set; get; }" />
155       <MemberType>Property</MemberType>
156       <Attributes>
157         <Attribute>
158           <AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
159         </Attribute>
160         <Attribute>
161           <AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
162         </Attribute>
163       </Attributes>
164       <ReturnValue>
165         <ReturnType>System.Data.Common.DbDataAdapter</ReturnType>
166       </ReturnValue>
167       <Docs>
168         <value>To be added.</value>
169         <since version=".NET 2.0" />
170         <remarks>
171           <attribution license="cc4" from="Microsoft" modified="false" />
172           <para>The <see cref="T:System.Data.Common.DbCommandBuilder" /> registers itself as a listener for <see cref="E:System.Data.OleDb.OleDbDataAdapter.RowUpdating" /> events that are generated by the <see cref="T:System.Data.Common.DbDataAdapter" /> specified in this property.</para>
173           <para>When you create a new instance of <see cref="T:System.Data.Common.DbCommandBuilder" />, any existing <see cref="T:System.Data.Common.DbCommandBuilder" /> associated with this <see cref="T:System.Data.Common.DbDataAdapter" /> is released.</para>
174         </remarks>
175         <summary>
176           <attribution license="cc4" from="Microsoft" modified="false" />
177           <para>Gets or sets a <see cref="T:System.Data.Common.DbDataAdapter" /> object for which Transact-SQL statements are automatically generated.</para>
178         </summary>
179       </Docs>
180       <AssemblyInfo>
181         <AssemblyVersion>2.0.0.0</AssemblyVersion>
182       </AssemblyInfo>
183     </Member>
184     <Member MemberName="Dispose">
185       <MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
186       <MemberType>Method</MemberType>
187       <ReturnValue>
188         <ReturnType>System.Void</ReturnType>
189       </ReturnValue>
190       <Parameters>
191         <Parameter Name="disposing" Type="System.Boolean" />
192       </Parameters>
193       <Docs>
194         <since version=".NET 2.0" />
195         <remarks>
196           <attribution license="cc4" from="Microsoft" modified="false" />
197           <para>This method is called by the public <see cref="Overload:System.Data.Common.DbCommandBuilder.Dispose" /> method and the Finalize method. <see cref="Overload:System.Data.Common.DbCommandBuilder.Dispose" /> invokes the protected <see cref="M:System.Data.Common.DbCommandBuilder.Dispose(System.Boolean)" /> method with the disposing parameter set to true. Finalize invokes Dispose with disposing set to false.</para>
198           <para>When the <paramref name="disposing" /> parameter is true, this method releases all resources held by any managed objects that this <see cref="T:System.Data.Common.DbCommandBuilder" /> references. This method invokes the <see cref="Overload:System.Data.Common.DbCommandBuilder.Dispose" /> method of each referenced object.</para>
199         </remarks>
200         <summary>
201           <attribution license="cc4" from="Microsoft" modified="false" />
202           <para>Releases the unmanaged resources used by the <see cref="T:System.Data.Common.DbCommandBuilder" /> and optionally releases the managed resources.</para>
203         </summary>
204         <param name="disposing">
205           <attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
206       </Docs>
207       <AssemblyInfo>
208         <AssemblyVersion>2.0.0.0</AssemblyVersion>
209       </AssemblyInfo>
210     </Member>
211     <Member MemberName="GetDeleteCommand">
212       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetDeleteCommand ();" />
213       <MemberType>Method</MemberType>
214       <ReturnValue>
215         <ReturnType>System.Data.Common.DbCommand</ReturnType>
216       </ReturnValue>
217       <Parameters />
218       <Docs>
219         <returns>To be added.</returns>
220         <since version=".NET 2.0" />
221         <remarks>
222           <attribution license="cc4" from="Microsoft" modified="false" />
223           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
224           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> and modify the command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
225           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" />.</para>
226         </remarks>
227         <summary>
228           <attribution license="cc4" from="Microsoft" modified="false" />
229           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform deletions at the data source.</para>
230         </summary>
231       </Docs>
232       <AssemblyInfo>
233         <AssemblyVersion>2.0.0.0</AssemblyVersion>
234       </AssemblyInfo>
235     </Member>
236     <Member MemberName="GetDeleteCommand">
237       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetDeleteCommand (bool option);" />
238       <MemberType>Method</MemberType>
239       <ReturnValue>
240         <ReturnType>System.Data.Common.DbCommand</ReturnType>
241       </ReturnValue>
242       <Parameters>
243         <Parameter Name="option" Type="System.Boolean" />
244       </Parameters>
245       <Docs>
246         <param name="option">To be added.</param>
247         <returns>To be added.</returns>
248         <since version=".NET 2.0" />
249         <remarks>
250           <attribution license="cc4" from="Microsoft" modified="false" />
251           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
252           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> and modify the command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />. </para>
253           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetDeleteCommand" />.</para>
254           <para>The default behavior, when generating parameter names, is to use @p1, @p2, and so on for the various parameters. Passing true for the <paramref name="useColumnsForParameterNames" /> parameter allows you to force the <see cref="T:System.Data.Common.DbCommandBuilder" /> to generate parameters based on the column names instead. This succeeds only if the following conditions are met:</para>
255           <list type="bullet">
256             <item>
257               <para>The <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNameMaxLength" /> has been specified and its length is equal to or greater than the generated parameter name.</para>
258             </item>
259             <item>
260               <para>The generated parameter name meets the criteria specified in the <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNamePattern" /> regular expression.</para>
261             </item>
262             <item>
263               <para>A <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterMarkerFormat" /> is specified.</para>
264             </item>
265           </list>
266         </remarks>
267         <summary>
268           <attribution license="cc4" from="Microsoft" modified="false" />
269           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform deletions at the data source, optionally using columns for parameter names.</para>
270         </summary>
271       </Docs>
272       <AssemblyInfo>
273         <AssemblyVersion>2.0.0.0</AssemblyVersion>
274       </AssemblyInfo>
275     </Member>
276     <Member MemberName="GetInsertCommand">
277       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetInsertCommand ();" />
278       <MemberType>Method</MemberType>
279       <ReturnValue>
280         <ReturnType>System.Data.Common.DbCommand</ReturnType>
281       </ReturnValue>
282       <Parameters />
283       <Docs>
284         <returns>To be added.</returns>
285         <since version=".NET 2.0" />
286         <remarks>
287           <attribution license="cc4" from="Microsoft" modified="false" />
288           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> method for informational or troubleshooting purposes because it returns the text of the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
289           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> and modify the command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
290           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" />.</para>
291         </remarks>
292         <summary>
293           <attribution license="cc4" from="Microsoft" modified="false" />
294           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform insertions at the data source.</para>
295         </summary>
296       </Docs>
297       <AssemblyInfo>
298         <AssemblyVersion>2.0.0.0</AssemblyVersion>
299       </AssemblyInfo>
300     </Member>
301     <Member MemberName="GetInsertCommand">
302       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetInsertCommand (bool option);" />
303       <MemberType>Method</MemberType>
304       <ReturnValue>
305         <ReturnType>System.Data.Common.DbCommand</ReturnType>
306       </ReturnValue>
307       <Parameters>
308         <Parameter Name="option" Type="System.Boolean" />
309       </Parameters>
310       <Docs>
311         <param name="option">To be added.</param>
312         <returns>To be added.</returns>
313         <since version=".NET 2.0" />
314         <remarks>
315           <attribution license="cc4" from="Microsoft" modified="false" />
316           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> method for informational or troubleshooting purposes because it returns the text of the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
317           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> and modify the command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
318           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetInsertCommand" />.</para>
319           <para>The default behavior, when generating parameter names, is to use @p1, @p2, and so on for the various parameters. Passing true for the <paramref name="useColumnsForParameterNames" /> parameter allows you to force the <see cref="T:System.Data.Common.DbCommandBuilder" /> to generate parameters based on the column names instead. Generation of the parameters based on column names succeeds only if the following conditions are met:</para>
320           <list type="bullet">
321             <item>
322               <para>The <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNameMaxLength" /> has been specified and its length is equal to or greater than the generated parameter name.</para>
323             </item>
324             <item>
325               <para>The generated parameter name meets the criteria specified in the <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNamePattern" /> regular expression.</para>
326             </item>
327             <item>
328               <para>A <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterMarkerFormat" /> is specified.</para>
329             </item>
330           </list>
331         </remarks>
332         <summary>
333           <attribution license="cc4" from="Microsoft" modified="false" />
334           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform insertions at the data source, optionally using columns for parameter names.</para>
335         </summary>
336       </Docs>
337       <AssemblyInfo>
338         <AssemblyVersion>2.0.0.0</AssemblyVersion>
339       </AssemblyInfo>
340     </Member>
341     <Member MemberName="GetParameterName">
342       <MemberSignature Language="C#" Value="protected abstract string GetParameterName (int parameterOrdinal);" />
343       <MemberType>Method</MemberType>
344       <ReturnValue>
345         <ReturnType>System.String</ReturnType>
346       </ReturnValue>
347       <Parameters>
348         <Parameter Name="parameterOrdinal" Type="System.Int32" />
349       </Parameters>
350       <Docs>
351         <returns>To be added.</returns>
352         <remarks>To be added.</remarks>
353         <since version=".NET 2.0" />
354         <summary>
355           <attribution license="cc4" from="Microsoft" modified="false" />
356           <para>Returns the name of the specified parameter in the format of @p#. Use when building a custom command builder.</para>
357         </summary>
358         <param name="parameterOrdinal">
359           <attribution license="cc4" from="Microsoft" modified="false" />The number to be included as part of the parameter's name..</param>
360       </Docs>
361       <AssemblyInfo>
362         <AssemblyVersion>2.0.0.0</AssemblyVersion>
363       </AssemblyInfo>
364     </Member>
365     <Member MemberName="GetParameterName">
366       <MemberSignature Language="C#" Value="protected abstract string GetParameterName (string parameterName);" />
367       <MemberType>Method</MemberType>
368       <ReturnValue>
369         <ReturnType>System.String</ReturnType>
370       </ReturnValue>
371       <Parameters>
372         <Parameter Name="parameterName" Type="System.String" />
373       </Parameters>
374       <Docs>
375         <returns>To be added.</returns>
376         <remarks>To be added.</remarks>
377         <since version=".NET 2.0" />
378         <summary>
379           <attribution license="cc4" from="Microsoft" modified="false" />
380           <para>Returns the full parameter name, given the partial parameter name.</para>
381         </summary>
382         <param name="parameterName">
383           <attribution license="cc4" from="Microsoft" modified="false" />The partial name of the parameter.</param>
384       </Docs>
385       <AssemblyInfo>
386         <AssemblyVersion>2.0.0.0</AssemblyVersion>
387       </AssemblyInfo>
388     </Member>
389     <Member MemberName="GetParameterPlaceholder">
390       <MemberSignature Language="C#" Value="protected abstract string GetParameterPlaceholder (int parameterOrdinal);" />
391       <MemberType>Method</MemberType>
392       <ReturnValue>
393         <ReturnType>System.String</ReturnType>
394       </ReturnValue>
395       <Parameters>
396         <Parameter Name="parameterOrdinal" Type="System.Int32" />
397       </Parameters>
398       <Docs>
399         <returns>To be added.</returns>
400         <since version=".NET 2.0" />
401         <remarks>
402           <attribution license="cc4" from="Microsoft" modified="false" />
403           <para>This method is intended for use by provider writers building a custom command builder.</para>
404         </remarks>
405         <summary>
406           <attribution license="cc4" from="Microsoft" modified="false" />
407           <para>Returns the placeholder for the parameter in the associated SQL statement.</para>
408         </summary>
409         <param name="parameterOrdinal">
410           <attribution license="cc4" from="Microsoft" modified="false" />The number to be included as part of the parameter's name.</param>
411       </Docs>
412       <AssemblyInfo>
413         <AssemblyVersion>2.0.0.0</AssemblyVersion>
414       </AssemblyInfo>
415     </Member>
416     <Member MemberName="GetSchemaTable">
417       <MemberSignature Language="C#" Value="protected virtual System.Data.DataTable GetSchemaTable (System.Data.Common.DbCommand cmd);" />
418       <MemberType>Method</MemberType>
419       <ReturnValue>
420         <ReturnType>System.Data.DataTable</ReturnType>
421       </ReturnValue>
422       <Parameters>
423         <Parameter Name="cmd" Type="System.Data.Common.DbCommand" />
424       </Parameters>
425       <Docs>
426         <param name="cmd">To be added.</param>
427         <returns>To be added.</returns>
428         <since version=".NET 2.0" />
429         <remarks>
430           <attribution license="cc4" from="Microsoft" modified="false" />
431           <para>This method is intended for use by provider writers building a custom command builder.</para>
432         </remarks>
433         <summary>
434           <attribution license="cc4" from="Microsoft" modified="false" />
435           <para>Returns the schema table for the <see cref="T:System.Data.Common.DbCommandBuilder" />.</para>
436         </summary>
437       </Docs>
438       <AssemblyInfo>
439         <AssemblyVersion>2.0.0.0</AssemblyVersion>
440       </AssemblyInfo>
441     </Member>
442     <Member MemberName="GetUpdateCommand">
443       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetUpdateCommand ();" />
444       <MemberType>Method</MemberType>
445       <ReturnValue>
446         <ReturnType>System.Data.Common.DbCommand</ReturnType>
447       </ReturnValue>
448       <Parameters />
449       <Docs>
450         <returns>To be added.</returns>
451         <since version=".NET 2.0" />
452         <remarks>
453           <attribution license="cc4" from="Microsoft" modified="false" />
454           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
455           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> and modify the command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
456           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" />.</para>
457         </remarks>
458         <summary>
459           <attribution license="cc4" from="Microsoft" modified="false" />
460           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform updates at the data source.</para>
461         </summary>
462       </Docs>
463       <AssemblyInfo>
464         <AssemblyVersion>2.0.0.0</AssemblyVersion>
465       </AssemblyInfo>
466     </Member>
467     <Member MemberName="GetUpdateCommand">
468       <MemberSignature Language="C#" Value="public System.Data.Common.DbCommand GetUpdateCommand (bool option);" />
469       <MemberType>Method</MemberType>
470       <ReturnValue>
471         <ReturnType>System.Data.Common.DbCommand</ReturnType>
472       </ReturnValue>
473       <Parameters>
474         <Parameter Name="option" Type="System.Boolean" />
475       </Parameters>
476       <Docs>
477         <param name="option">To be added.</param>
478         <returns>To be added.</returns>
479         <since version=".NET 2.0" />
480         <remarks>
481           <attribution license="cc4" from="Microsoft" modified="false" />
482           <para>An application can use the <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> method for informational or troubleshooting purposes because it returns the <see cref="T:System.Data.Common.DbCommand" /> object to be executed.</para>
483           <para>You can also use <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> as the basis of a modified command. For example, you might call <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> and modify command text, and then explicitly set that on the <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
484           <para>After the SQL statement is first generated, the application must explicitly call <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> if it changes the statement in any way. Otherwise, the <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" /> will still be using information from the previous statement, which might not be correct. The SQL statements are first generated either when the application calls <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)" /> or <see cref="M:System.Data.Common.DbCommandBuilder.GetUpdateCommand" />.</para>
485           <para>The default behavior, when generating parameter names, is to use @p1, @p2, and so on for the various parameters. Passing true for the <paramref name="useColumnsForParameterNames" /> parameter allows you to force the <see cref="T:System.Data.Common.DbCommandBuilder" /> to generate parameters based on the column names instead. Generation of the parameters based on column names succeeds only if the following conditions are met:</para>
486           <list type="bullet">
487             <item>
488               <para>The <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNameMaxLength" /> has been specified and its length is equal to or greater than the generated parameter name.</para>
489             </item>
490             <item>
491               <para>The generated parameter name meets the criteria specified in the <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterNamePattern" /> regular expression.</para>
492             </item>
493             <item>
494               <para>A <see cref="F:System.Data.Common.DbMetaDataColumnNames.ParameterMarkerFormat" /> is specified.</para>
495             </item>
496           </list>
497         </remarks>
498         <summary>
499           <attribution license="cc4" from="Microsoft" modified="false" />
500           <para>Gets the automatically generated <see cref="T:System.Data.Common.DbCommand" /> object required to perform updates at the data source, optionally using columns for parameter names.</para>
501         </summary>
502       </Docs>
503       <AssemblyInfo>
504         <AssemblyVersion>2.0.0.0</AssemblyVersion>
505       </AssemblyInfo>
506     </Member>
507     <Member MemberName="InitializeCommand">
508       <MemberSignature Language="C#" Value="protected virtual System.Data.Common.DbCommand InitializeCommand (System.Data.Common.DbCommand command);" />
509       <MemberType>Method</MemberType>
510       <ReturnValue>
511         <ReturnType>System.Data.Common.DbCommand</ReturnType>
512       </ReturnValue>
513       <Parameters>
514         <Parameter Name="command" Type="System.Data.Common.DbCommand" />
515       </Parameters>
516       <Docs>
517         <returns>To be added.</returns>
518         <since version=".NET 2.0" />
519         <remarks>
520           <attribution license="cc4" from="Microsoft" modified="false" />
521           <para>This method is intended for use by provider writers building a custom command builder.</para>
522         </remarks>
523         <summary>
524           <attribution license="cc4" from="Microsoft" modified="false" />
525           <para>Resets the <see cref="P:System.Data.Common.DbCommand.CommandTimeout" />, <see cref="P:System.Data.Common.DbCommand.Transaction" />, <see cref="P:System.Data.Common.DbCommand.CommandType" />, and <see cref="T:System.Data.UpdateRowSource" /> properties on the <see cref="T:System.Data.Common.DbCommand" />.</para>
526         </summary>
527         <param name="command">
528           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.Common.DbCommand" /> to be used by the command builder for the corresponding insert, update, or delete command.</param>
529       </Docs>
530       <AssemblyInfo>
531         <AssemblyVersion>2.0.0.0</AssemblyVersion>
532       </AssemblyInfo>
533     </Member>
534     <Member MemberName="QuoteIdentifier">
535       <MemberSignature Language="C#" Value="public virtual string QuoteIdentifier (string unquotedIdentifier);" />
536       <MemberType>Method</MemberType>
537       <ReturnValue>
538         <ReturnType>System.String</ReturnType>
539       </ReturnValue>
540       <Parameters>
541         <Parameter Name="unquotedIdentifier" Type="System.String" />
542       </Parameters>
543       <Docs>
544         <returns>To be added.</returns>
545         <remarks>To be added.</remarks>
546         <since version=".NET 2.0" />
547         <summary>
548           <attribution license="cc4" from="Microsoft" modified="false" />
549           <para>Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier.</para>
550         </summary>
551         <param name="unquotedIdentifier">
552           <attribution license="cc4" from="Microsoft" modified="false" />The original unquoted identifier.</param>
553       </Docs>
554       <AssemblyInfo>
555         <AssemblyVersion>2.0.0.0</AssemblyVersion>
556       </AssemblyInfo>
557     </Member>
558     <Member MemberName="QuotePrefix">
559       <MemberSignature Language="C#" Value="public virtual string QuotePrefix { set; get; }" />
560       <MemberType>Property</MemberType>
561       <Attributes>
562         <Attribute>
563           <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
564         </Attribute>
565       </Attributes>
566       <ReturnValue>
567         <ReturnType>System.String</ReturnType>
568       </ReturnValue>
569       <Docs>
570         <value>To be added.</value>
571         <since version=".NET 2.0" />
572         <remarks>
573           <attribution license="cc4" from="Microsoft" modified="false" />
574           <para>Some data sources may have objects that can contain characters such as spaces, commas, and semicolons. To accommodate this capability, use the <see cref="P:System.Data.Common.DbCommandBuilder.QuotePrefix" /> and <see cref="P:System.Data.Common.DbCommandBuilder.QuoteSuffix" /> properties to specify delimiters such as a left bracket and a right bracket to encapsulate the object name.</para>
575           <block subset="none" type="note">
576             <para>Although you cannot change the <see cref="P:System.Data.Common.DbCommandBuilder.QuotePrefix" /> or <see cref="P:System.Data.Common.DbCommandBuilder.QuoteSuffix" /> properties after an insert, update, or delete command has been generated, you can change their settings after calling the Update method of a <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
577           </block>
578         </remarks>
579         <summary>
580           <attribution license="cc4" from="Microsoft" modified="false" />
581           <para>Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.</para>
582         </summary>
583       </Docs>
584       <AssemblyInfo>
585         <AssemblyVersion>2.0.0.0</AssemblyVersion>
586       </AssemblyInfo>
587     </Member>
588     <Member MemberName="QuoteSuffix">
589       <MemberSignature Language="C#" Value="public virtual string QuoteSuffix { set; get; }" />
590       <MemberType>Property</MemberType>
591       <Attributes>
592         <Attribute>
593           <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
594         </Attribute>
595       </Attributes>
596       <ReturnValue>
597         <ReturnType>System.String</ReturnType>
598       </ReturnValue>
599       <Docs>
600         <value>To be added.</value>
601         <since version=".NET 2.0" />
602         <remarks>
603           <attribution license="cc4" from="Microsoft" modified="false" />
604           <para>Some data sources may have objects that can contain characters such as spaces, commas, and semicolons. To accommodate this capability, use the <see cref="P:System.Data.Common.DbCommandBuilder.QuotePrefix" /> and <see cref="P:System.Data.Common.DbCommandBuilder.QuoteSuffix" /> properties to specify delimiters such as a left bracket and a right bracket to encapsulate the object name.</para>
605           <block subset="none" type="note">
606             <para>Although you cannot change the <see cref="P:System.Data.Common.DbCommandBuilder.QuotePrefix" /> or <see cref="P:System.Data.Common.DbCommandBuilder.QuoteSuffix" /> properties after an insert, update, or delete command has been generated, you can change their settings after calling the Update method of a <see cref="T:System.Data.Common.DbDataAdapter" />.</para>
607           </block>
608         </remarks>
609         <summary>
610           <attribution license="cc4" from="Microsoft" modified="false" />
611           <para>Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.</para>
612         </summary>
613       </Docs>
614       <AssemblyInfo>
615         <AssemblyVersion>2.0.0.0</AssemblyVersion>
616       </AssemblyInfo>
617     </Member>
618     <Member MemberName="RefreshSchema">
619       <MemberSignature Language="C#" Value="public virtual void RefreshSchema ();" />
620       <MemberType>Method</MemberType>
621       <ReturnValue>
622         <ReturnType>System.Void</ReturnType>
623       </ReturnValue>
624       <Parameters />
625       <Docs>
626         <since version=".NET 2.0" />
627         <remarks>
628           <attribution license="cc4" from="Microsoft" modified="false" />
629           <para>Calling the <see cref="M:System.Data.Common.DbCommandBuilder.RefreshSchema" /> method effectively removes all the <see cref="T:System.Data.Common.DbCommand" /> objects referred to by the <see cref="P:System.Data.Common.DbDataAdapter.SelectCommand" />,</para>
630           <para>
631             <see cref="P:System.Data.Common.DbDataAdapter.UpdateCommand" />,</para>
632           <para>
633             <see cref="P:System.Data.Common.DbDataAdapter.DeleteCommand" />, and</para>
634           <para>
635             <see cref="P:System.Data.Common.DbDataAdapter.InsertCommand" /> properties.</para>
636         </remarks>
637         <summary>
638           <attribution license="cc4" from="Microsoft" modified="false" />
639           <para>Clears the commands associated with this <see cref="T:System.Data.Common.DbCommandBuilder" />.</para>
640         </summary>
641       </Docs>
642       <AssemblyInfo>
643         <AssemblyVersion>2.0.0.0</AssemblyVersion>
644       </AssemblyInfo>
645     </Member>
646     <Member MemberName="RowUpdatingHandler">
647       <MemberSignature Language="C#" Value="protected void RowUpdatingHandler (System.Data.Common.RowUpdatingEventArgs args);" />
648       <MemberType>Method</MemberType>
649       <ReturnValue>
650         <ReturnType>System.Void</ReturnType>
651       </ReturnValue>
652       <Parameters>
653         <Parameter Name="args" Type="System.Data.Common.RowUpdatingEventArgs" />
654       </Parameters>
655       <Docs>
656         <param name="args">To be added.</param>
657         <remarks>To be added.</remarks>
658         <since version=".NET 2.0" />
659         <summary>
660           <attribution license="cc4" from="Microsoft" modified="false" />
661           <para>Adds an event handler for the <see cref="E:System.Data.OleDb.OleDbDataAdapter.RowUpdating" /> event.</para>
662         </summary>
663       </Docs>
664       <AssemblyInfo>
665         <AssemblyVersion>2.0.0.0</AssemblyVersion>
666       </AssemblyInfo>
667     </Member>
668     <Member MemberName="SchemaSeparator">
669       <MemberSignature Language="C#" Value="public virtual string SchemaSeparator { set; get; }" />
670       <MemberType>Property</MemberType>
671       <Attributes>
672         <Attribute>
673           <AttributeName>System.ComponentModel.DefaultValue(".")</AttributeName>
674         </Attribute>
675       </Attributes>
676       <ReturnValue>
677         <ReturnType>System.String</ReturnType>
678       </ReturnValue>
679       <Docs>
680         <value>To be added.</value>
681         <since version=".NET 2.0" />
682         <remarks>
683           <attribution license="cc4" from="Microsoft" modified="false" />
684           <para>Generally, database servers indicate the schema for an identifier by separating the schema name from the identifier with some character. For example, SQL Server uses a colon, creating complete identifiers such as Person:CustomerName, where "Person" is the schema name and "CustomerName" is the identifier. Setting this property allows developers to modify this behavior.</para>
685         </remarks>
686         <summary>
687           <attribution license="cc4" from="Microsoft" modified="false" />
688           <para>Gets or sets the character to be used for the separator between the schema identifier and any other identifiers.</para>
689         </summary>
690       </Docs>
691       <AssemblyInfo>
692         <AssemblyVersion>2.0.0.0</AssemblyVersion>
693       </AssemblyInfo>
694     </Member>
695     <Member MemberName="SetAllValues">
696       <MemberSignature Language="C#" Value="public bool SetAllValues { set; get; }" />
697       <MemberType>Property</MemberType>
698       <Attributes>
699         <Attribute>
700           <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
701         </Attribute>
702       </Attributes>
703       <ReturnValue>
704         <ReturnType>System.Boolean</ReturnType>
705       </ReturnValue>
706       <Docs>
707         <value>To be added.</value>
708         <since version=".NET 2.0" />
709         <remarks>
710           <attribution license="cc4" from="Microsoft" modified="false" />
711           <para>The UPDATE statement generated by a <see cref="T:System.Data.Common.DbCommandBuilder" /> can include update information about all the columns, or it can include information only about those columns whose values have changed. Setting the <see cref="P:System.Data.Common.DbCommandBuilder.SetAllValues" /> property to true causes the generated UPDATE statement to include all the columns, whether their values have changed or not.</para>
712         </remarks>
713         <summary>
714           <attribution license="cc4" from="Microsoft" modified="false" />
715           <para>Specifies whether all column values in an update statement are included or only changed ones.</para>
716         </summary>
717       </Docs>
718       <AssemblyInfo>
719         <AssemblyVersion>2.0.0.0</AssemblyVersion>
720       </AssemblyInfo>
721     </Member>
722     <Member MemberName="SetRowUpdatingHandler">
723       <MemberSignature Language="C#" Value="protected abstract void SetRowUpdatingHandler (System.Data.Common.DbDataAdapter adapter);" />
724       <MemberType>Method</MemberType>
725       <ReturnValue>
726         <ReturnType>System.Void</ReturnType>
727       </ReturnValue>
728       <Parameters>
729         <Parameter Name="adapter" Type="System.Data.Common.DbDataAdapter" />
730       </Parameters>
731       <Docs>
732         <since version=".NET 2.0" />
733         <remarks>
734           <attribution license="cc4" from="Microsoft" modified="false" />
735           <para>This method is intended for use by provider writers building a custom command builder. When a new <see cref="T:System.Data.Common.DbDataAdapter" /> is added to the <see cref="T:System.Data.Common.DbCommandBuilder" />, it is registered for the DbDataAdapter's RowUpdating event. If this method is called again with the same <see cref="T:System.Data.Common.DbDataAdapter" />, the <see cref="T:System.Data.Common.DbCommandBuilder" /> is unregistered for that DbDataAdapter's RowUpdating event.</para>
736         </remarks>
737         <summary>
738           <attribution license="cc4" from="Microsoft" modified="false" />
739           <para>Registers the <see cref="T:System.Data.Common.DbCommandBuilder" /> to handle the <see cref="E:System.Data.OleDb.OleDbDataAdapter.RowUpdating" /> event for a <see cref="T:System.Data.Common.DbDataAdapter" />. </para>
740         </summary>
741         <param name="adapter">
742           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.Common.DbDataAdapter" /> to be used for the update.</param>
743       </Docs>
744       <AssemblyInfo>
745         <AssemblyVersion>2.0.0.0</AssemblyVersion>
746       </AssemblyInfo>
747     </Member>
748     <Member MemberName="UnquoteIdentifier">
749       <MemberSignature Language="C#" Value="public virtual string UnquoteIdentifier (string quotedIdentifier);" />
750       <MemberType>Method</MemberType>
751       <ReturnValue>
752         <ReturnType>System.String</ReturnType>
753       </ReturnValue>
754       <Parameters>
755         <Parameter Name="quotedIdentifier" Type="System.String" />
756       </Parameters>
757       <Docs>
758         <returns>To be added.</returns>
759         <remarks>To be added.</remarks>
760         <since version=".NET 2.0" />
761         <summary>
762           <attribution license="cc4" from="Microsoft" modified="false" />
763           <para>Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier.</para>
764         </summary>
765         <param name="quotedIdentifier">
766           <attribution license="cc4" from="Microsoft" modified="false" />The identifier that will have its embedded quotes removed.</param>
767       </Docs>
768       <AssemblyInfo>
769         <AssemblyVersion>2.0.0.0</AssemblyVersion>
770       </AssemblyInfo>
771     </Member>
772   </Members>
773 </Type>