2 // System.Data.Odbc.OdbcDataAdapter.cs
5 // Rodrigo Moya (rodrigo@ximian.com)
6 // Daniel Morgan (danmorg@sc.rr.com)
7 // Tim Coleman (tim@timcoleman.com)
9 // (C) Ximian, Inc 2002
10 // Copyright (C) 2002 Tim Coleman
14 using System.ComponentModel;
16 using System.Data.Common;
18 namespace System.Data.Odbc {
19 [DefaultEvent ("RowUpdated")]
20 [DesignerAttribute ("Microsoft.VSDesigner.Data.VS.OdbcDataAdapterDesigner, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.IDesigner")]
21 [ToolboxItemAttribute ("Microsoft.VSDesigner.Data.VS.OdbcDataAdapterToolboxItem, "+ Consts.AssemblyMicrosoft_VSDesigner)]
22 public sealed class OdbcDataAdapter : DbDataAdapter, IDbDataAdapter
26 bool disposed = false;
27 OdbcCommand deleteCommand;
28 OdbcCommand insertCommand;
29 OdbcCommand selectCommand;
30 OdbcCommand updateCommand;
36 public OdbcDataAdapter ()
37 : this (new OdbcCommand ())
41 public OdbcDataAdapter (OdbcCommand selectCommand)
45 SelectCommand = selectCommand;
49 public OdbcDataAdapter (string selectCommandText, OdbcConnection selectConnection)
50 : this (new OdbcCommand (selectCommandText, selectConnection))
54 public OdbcDataAdapter (string selectCommandText, string selectConnectionString)
55 : this (selectCommandText, new OdbcConnection (selectConnectionString))
63 [OdbcCategory ("Update")]
64 [OdbcDescription ("Used during Update for deleted rows in DataSet.")]
66 [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
67 public OdbcCommand DeleteCommand {
68 get { return deleteCommand; }
69 set { deleteCommand = value; }
72 [OdbcCategory ("Update")]
73 [OdbcDescription ("Used during Update for new rows in DataSet.")]
75 [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
76 public OdbcCommand InsertCommand {
77 get { return insertCommand; }
78 set { insertCommand = value; }
81 [OdbcCategory ("Fill")]
82 [OdbcDescription ("Used during Fill/FillSchema.")]
84 [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
85 public OdbcCommand SelectCommand {
86 get { return selectCommand; }
87 set { selectCommand = value; }
90 [OdbcCategory ("Update")]
91 [OdbcDescription ("Used during Update for modified rows in DataSet.")]
93 [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
94 public OdbcCommand UpdateCommand {
95 get { return updateCommand; }
96 set { updateCommand = value; }
99 IDbCommand IDbDataAdapter.DeleteCommand {
100 get { return DeleteCommand; }
102 if (!(value is OdbcCommand))
103 throw new ArgumentException ();
104 DeleteCommand = (OdbcCommand)value;
108 IDbCommand IDbDataAdapter.InsertCommand {
109 get { return InsertCommand; }
111 if (!(value is OdbcCommand))
112 throw new ArgumentException ();
113 InsertCommand = (OdbcCommand)value;
117 IDbCommand IDbDataAdapter.SelectCommand {
118 get { return SelectCommand; }
120 if (!(value is OdbcCommand))
121 throw new ArgumentException ();
122 SelectCommand = (OdbcCommand)value;
126 IDbCommand IDbDataAdapter.UpdateCommand {
127 get { return UpdateCommand; }
129 if (!(value is OdbcCommand))
130 throw new ArgumentException ();
131 UpdateCommand = (OdbcCommand)value;
136 ITableMappingCollection IDataAdapter.TableMappings {
137 get { return TableMappings; }
140 #endregion // Properties
144 protected override RowUpdatedEventArgs CreateRowUpdatedEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
146 return new OdbcRowUpdatedEventArgs (dataRow, command, statementType, tableMapping);
150 protected override RowUpdatingEventArgs CreateRowUpdatingEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
152 return new OdbcRowUpdatingEventArgs (dataRow, command, statementType, tableMapping);
155 protected override void Dispose (bool disposing)
159 // Release managed resources
161 // Release unmanaged resources
166 protected override void OnRowUpdated (RowUpdatedEventArgs value)
168 if (RowUpdated != null)
169 RowUpdated (this, (OdbcRowUpdatedEventArgs) value);
172 protected override void OnRowUpdating (RowUpdatingEventArgs value)
174 if (RowUpdating != null)
175 RowUpdating (this, (OdbcRowUpdatingEventArgs) value);
178 #endregion // Methods
180 #region Events and Delegates
182 public event OdbcRowUpdatedEventHandler RowUpdated;
183 public event OdbcRowUpdatingEventHandler RowUpdating;
185 #endregion // Events and Delegates