2 // OracleDataAdapter.cs
4 // Part of the Mono class libraries at
5 // mcs/class/System.Data.OracleClient/System.Data.OracleClient
7 // Assembly: System.Data.OracleClient.dll
8 // Namespace: System.Data.OracleClient
10 // Author: Tim Coleman <tim@timcoleman.com>
12 // Parts transferred from System.Data.SqlClient/SqlDataAdapter.cs
14 // Rodrigo Moya (rodrigo@ximian.com)
15 // Daniel Morgan (danmorg@sc.rr.com)
16 // Tim Coleman (tim@timcoleman.com)
18 // Copyright (C) Tim Coleman, 2003
19 // (C) Ximian, Inc 2002
21 // Licensed under the MIT/X11 License.
25 using System.ComponentModel;
27 using System.Data.Common;
28 using System.Drawing.Design;
30 namespace System.Data.OracleClient
32 [DefaultEvent ("RowUpdated")]
33 [Designer ("Microsoft.VSDesigner.Data.VS.OracleDataAdapterDesigner, " + Consts.AssemblyMicrosoft_VSDesigner)]
34 [ToolboxItem ("Microsoft.VSDesigner.Data.VS.OracleDataAdapterToolboxItem, " + Consts.AssemblyMicrosoft_VSDesigner)]
35 public sealed class OracleDataAdapter : DbDataAdapter, IDbDataAdapter
39 OracleCommand deleteCommand;
40 OracleCommand insertCommand;
41 OracleCommand selectCommand;
42 OracleCommand updateCommand;
51 public OracleDataAdapter () : this ((OracleCommand) null)
55 public OracleDataAdapter (OracleCommand selectCommand)
57 SelectCommand = selectCommand;
63 public OracleDataAdapter (string selectCommandText, OracleConnection selectConnection)
64 : this (new OracleCommand (selectCommandText, selectConnection))
68 public OracleDataAdapter (string selectCommandText, string selectConnectionString)
69 : this (selectCommandText, new OracleConnection (selectConnectionString))
78 [Editor ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, " + Consts.AssemblyMicrosoft_VSDesigner, typeof(UITypeEditor))]
83 OracleCommand DeleteCommand {
84 get { return deleteCommand; }
85 set { deleteCommand = value; }
89 [Editor ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, " + Consts.AssemblyMicrosoft_VSDesigner, typeof(UITypeEditor))]
94 OracleCommand InsertCommand {
95 get { return insertCommand; }
96 set { insertCommand = value; }
100 [Editor ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, " + Consts.AssemblyMicrosoft_VSDesigner, typeof(UITypeEditor))]
105 OracleCommand SelectCommand {
106 get { return selectCommand; }
107 set { selectCommand = value; }
110 [DefaultValue (null)]
111 [Editor ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, " + Consts.AssemblyMicrosoft_VSDesigner, typeof(UITypeEditor))]
116 OracleCommand UpdateCommand {
117 get { return updateCommand; }
118 set { updateCommand = value; }
122 public override int UpdateBatchSize {
123 get { return updateBatchSize; }
126 throw new ArgumentOutOfRangeException ("UpdateBatchSize");
127 updateBatchSize = value;
132 IDbCommand IDbDataAdapter.DeleteCommand {
133 get { return DeleteCommand; }
134 set { DeleteCommand = (OracleCommand) value; }
137 IDbCommand IDbDataAdapter.InsertCommand {
138 get { return InsertCommand; }
139 set { InsertCommand = (OracleCommand) value; }
142 IDbCommand IDbDataAdapter.SelectCommand {
143 get { return SelectCommand; }
144 set { SelectCommand = (OracleCommand) value; }
147 IDbCommand IDbDataAdapter.UpdateCommand {
148 get { return UpdateCommand; }
149 set { UpdateCommand = (OracleCommand) value; }
152 #endregion // Properties
156 protected override RowUpdatedEventArgs CreateRowUpdatedEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
158 return new OracleRowUpdatedEventArgs (dataRow, command, statementType, tableMapping);
162 protected override RowUpdatingEventArgs CreateRowUpdatingEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
164 return new OracleRowUpdatingEventArgs (dataRow, command, statementType, tableMapping);
167 protected override void OnRowUpdated (RowUpdatedEventArgs value)
169 if (RowUpdated != null)
170 RowUpdated (this, (OracleRowUpdatedEventArgs) value);
173 protected override void OnRowUpdating (RowUpdatingEventArgs value)
175 if (RowUpdating != null)
176 RowUpdating (this, (OracleRowUpdatingEventArgs) value);
179 #endregion // Methods
181 #region Events and Delegates
183 public event OracleRowUpdatedEventHandler RowUpdated;
184 public event OracleRowUpdatingEventHandler RowUpdating;
186 #endregion // Events and Delegates