CommandInfo.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:EffentNextType.cs
  5. * 2.功能描述:数据库枚举类
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 张国印 2014/09/01 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. namespace Dongke.IBOSS.PRD.Basics.DataAccess
  12. {
  13. /// <summary>
  14. /// 数据库枚举类
  15. /// </summary>
  16. public enum EffentNextType
  17. {
  18. /**/
  19. /// <summary>
  20. /// 对其他语句无任何影响
  21. /// </summary>
  22. None,
  23. /**/
  24. /// <summary>
  25. /// 当前语句必须为"select count(1) from .."格式,
  26. /// 如果存在则继续执行,不存在回滚事务
  27. /// </summary>
  28. WhenHaveContine,
  29. /**/
  30. /// <summary>
  31. /// 当前语句必须为"select count(1) from .."格式,
  32. /// 如果不存在则继续执行,存在回滚事务
  33. /// </summary>
  34. WhenNoHaveContine,
  35. /**/
  36. /// <summary>
  37. /// 当前语句影响到的行数必须大于0,否则回滚事务
  38. /// </summary>
  39. ExcuteEffectRows,
  40. /**/
  41. /// <summary>
  42. /// 引发事件-当前语句必须为"select count(1) from .."格式,
  43. /// 如果不存在则继续执行,存在回滚事务
  44. /// </summary>
  45. SolicitationEvent
  46. }
  47. public class CommandInfo
  48. {
  49. public object ShareObject = null;
  50. public object OriginalData = null;
  51. event EventHandler _solicitationEvent;
  52. public event EventHandler SolicitationEvent
  53. {
  54. add
  55. {
  56. _solicitationEvent += value;
  57. }
  58. remove
  59. {
  60. _solicitationEvent -= value;
  61. }
  62. }
  63. public void OnSolicitationEvent()
  64. {
  65. if (_solicitationEvent != null)
  66. {
  67. _solicitationEvent(this, new EventArgs());
  68. }
  69. }
  70. public string CommandText;
  71. public System.Data.Common.DbParameter[] Parameters;
  72. public EffentNextType EffentNextType = EffentNextType.None;
  73. public CommandInfo()
  74. {
  75. }
  76. public CommandInfo(string sqlText, Oracle.DataAccess.Client.OracleParameter[] para)
  77. {
  78. this.CommandText = sqlText;
  79. this.Parameters = para;
  80. }
  81. public CommandInfo(string sqlText, Oracle.DataAccess.Client.OracleParameter[] para, EffentNextType type)
  82. {
  83. this.CommandText = sqlText;
  84. this.Parameters = para;
  85. this.EffentNextType = type;
  86. }
  87. }
  88. }