OleDbDataAdapter.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. //
  2. // System.Data.OleDb.OleDbDataAdapter
  3. //
  4. // Authors:
  5. // Rodrigo Moya ([email protected])
  6. // Tim Coleman ([email protected])
  7. //
  8. // Copyright (C) Rodrigo Moya, 2002
  9. // Copyright (C) Tim Coleman, 2002
  10. //
  11. using System;
  12. using System.ComponentModel;
  13. using System.Data;
  14. using System.Data.Common;
  15. namespace System.Data.OleDb
  16. {
  17. [DefaultEvent ("RowUpdated")]
  18. [DesignerAttribute ("Microsoft.VSDesigner.Data.VS.OleDbDataAdapterDesigner, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.IDesigner")]
  19. [ToolboxItemAttribute ("Microsoft.VSDesigner.Data.VS.OleDbDataAdapterToolboxItem, "+ Consts.AssemblyMicrosoft_VSDesigner)]
  20. public sealed class OleDbDataAdapter : DbDataAdapter, IDbDataAdapter
  21. {
  22. #region Fields
  23. OleDbCommand deleteCommand;
  24. OleDbCommand insertCommand;
  25. OleDbCommand selectCommand;
  26. OleDbCommand updateCommand;
  27. MissingMappingAction missingMappingAction;
  28. MissingSchemaAction missingSchemaAction;
  29. #endregion
  30. #region Constructors
  31. public OleDbDataAdapter ()
  32. : this (new OleDbCommand ())
  33. {
  34. }
  35. public OleDbDataAdapter (OleDbCommand selectCommand)
  36. {
  37. DeleteCommand = new OleDbCommand ();
  38. InsertCommand = new OleDbCommand ();
  39. SelectCommand = selectCommand;
  40. UpdateCommand = new OleDbCommand ();
  41. }
  42. public OleDbDataAdapter (string selectCommandText, OleDbConnection selectConnection)
  43. : this (new OleDbCommand (selectCommandText, selectConnection))
  44. {
  45. }
  46. public OleDbDataAdapter (string selectCommandText, string selectConnectionString)
  47. : this (selectCommandText, new OleDbConnection (selectConnectionString))
  48. {
  49. }
  50. #endregion // Fields
  51. #region Properties
  52. [DefaultValue ("")]
  53. [DataSysDescriptionAttribute ("Used during Update for deleted rows in DataSet")]
  54. [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
  55. public OleDbCommand DeleteCommand {
  56. get {
  57. return deleteCommand;
  58. }
  59. set {
  60. deleteCommand = value;
  61. }
  62. }
  63. [DefaultValue ("")]
  64. [DataSysDescriptionAttribute ("Used during Update for new rows in DataSet")]
  65. [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
  66. public OleDbCommand InsertCommand {
  67. get {
  68. return insertCommand;
  69. }
  70. set {
  71. insertCommand = value;
  72. }
  73. }
  74. [DefaultValue ("")]
  75. [DataSysDescriptionAttribute ("Used during Fill/FillSchema")]
  76. [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
  77. public OleDbCommand SelectCommand {
  78. get {
  79. return selectCommand;
  80. }
  81. set {
  82. selectCommand = value;
  83. }
  84. }
  85. [DefaultValue ("")]
  86. [DataSysDescriptionAttribute ("Used during Update for modified rows in DataSet")]
  87. [EditorAttribute ("Microsoft.VSDesigner.Data.Design.DBCommandEditor, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.Drawing.Design.UITypeEditor, "+ Consts.AssemblySystem_Drawing )]
  88. public OleDbCommand UpdateCommand {
  89. get {
  90. return updateCommand;
  91. }
  92. set {
  93. updateCommand = value;
  94. }
  95. }
  96. IDbCommand IDbDataAdapter.DeleteCommand {
  97. get {
  98. return DeleteCommand;
  99. }
  100. set {
  101. if (!(value is OleDbCommand))
  102. throw new ArgumentException ();
  103. DeleteCommand = (OleDbCommand)value;
  104. }
  105. }
  106. IDbCommand IDbDataAdapter.InsertCommand {
  107. get {
  108. return InsertCommand;
  109. }
  110. set {
  111. if (!(value is OleDbCommand))
  112. throw new ArgumentException ();
  113. InsertCommand = (OleDbCommand)value;
  114. }
  115. }
  116. IDbCommand IDbDataAdapter.SelectCommand {
  117. get {
  118. return SelectCommand;
  119. }
  120. set {
  121. if (!(value is OleDbCommand))
  122. throw new ArgumentException ();
  123. SelectCommand = (OleDbCommand)value;
  124. }
  125. }
  126. MissingMappingAction IDataAdapter.MissingMappingAction {
  127. get {
  128. return missingMappingAction;
  129. }
  130. set {
  131. missingMappingAction = value;
  132. }
  133. }
  134. MissingSchemaAction IDataAdapter.MissingSchemaAction {
  135. get {
  136. return missingSchemaAction;
  137. }
  138. set {
  139. missingSchemaAction = value;
  140. }
  141. }
  142. IDbCommand IDbDataAdapter.UpdateCommand {
  143. get {
  144. return UpdateCommand;
  145. }
  146. set {
  147. if (!(value is OleDbCommand))
  148. throw new ArgumentException ();
  149. UpdateCommand = (OleDbCommand)value;
  150. }
  151. }
  152. ITableMappingCollection IDataAdapter.TableMappings {
  153. get {
  154. return TableMappings;
  155. }
  156. }
  157. #endregion // Properties
  158. #region Methods
  159. protected override RowUpdatedEventArgs CreateRowUpdatedEvent (DataRow dataRow,
  160. IDbCommand command,
  161. StatementType statementType,
  162. DataTableMapping tableMapping)
  163. {
  164. return new OleDbRowUpdatedEventArgs (dataRow, command, statementType, tableMapping);
  165. }
  166. protected override RowUpdatingEventArgs CreateRowUpdatingEvent (DataRow dataRow,
  167. IDbCommand command,
  168. StatementType statementType,
  169. DataTableMapping tableMapping)
  170. {
  171. return new OleDbRowUpdatingEventArgs (dataRow, command, statementType, tableMapping);
  172. }
  173. protected override void OnRowUpdated (RowUpdatedEventArgs value)
  174. {
  175. if (RowUpdated != null)
  176. RowUpdated (this, (OleDbRowUpdatedEventArgs) value);
  177. }
  178. protected override void OnRowUpdating (RowUpdatingEventArgs value)
  179. {
  180. if (RowUpdating != null)
  181. RowUpdating (this, (OleDbRowUpdatingEventArgs) value);
  182. }
  183. [MonoTODO]
  184. public int Fill(DataTable datatable, Object adoDBRecordSet) {
  185. throw new NotImplementedException ();
  186. }
  187. [MonoTODO]
  188. public int Fill(DataTable datatable, Object adoDBRecordSet, String srcTable) {
  189. throw new NotImplementedException ();
  190. }
  191. #endregion // Methods
  192. #region Events and Delegates
  193. public event OleDbRowUpdatedEventHandler RowUpdated;
  194. public event OleDbRowUpdatingEventHandler RowUpdating;
  195. #endregion // Events and Delegates
  196. }
  197. }