QueryCommand.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using Ant.Frame;
  5. using Ant.Data;
  6. namespace Ant.ORM
  7. {
  8. /// <summary>
  9. /// 查询命令
  10. /// </summary>
  11. public class QueryCommand
  12. {
  13. private static volatile QueryCommand instance = null;
  14. private static object lockHelper = new object();
  15. /// <summary>
  16. /// 默认构造函数
  17. /// </summary>
  18. public QueryCommand()
  19. {
  20. _parameters = new QueryParameterCollection();
  21. }
  22. /// <summary>
  23. /// 申明对象
  24. /// </summary>
  25. public static QueryCommand Instance
  26. {
  27. get
  28. {
  29. if (instance == null)
  30. {
  31. lock (lockHelper)
  32. {
  33. if (instance == null)
  34. {
  35. instance = new QueryCommand();
  36. }
  37. }
  38. }
  39. return instance;
  40. }
  41. }
  42. /// <summary>
  43. /// 构造函数
  44. /// </summary>
  45. /// <param name="commandText">命令文本</param>
  46. /// <param name="parameters">命令参数</param>
  47. public QueryCommand(string commandText, QueryParameterCollection parameters)
  48. {
  49. this._commandText = commandText;
  50. this._parameters = parameters;
  51. }
  52. /// <summary>
  53. /// 构造函数
  54. /// </summary>
  55. /// <param name="sqlString">SQL语句</param>
  56. public QueryCommand(string sqlString)
  57. {
  58. this._Key = string.Empty;
  59. this._moduleName = string.Empty;
  60. this._parameters = null;
  61. this._SqlType = SqlEnum.MainSql;
  62. this._SqlString = sqlString;
  63. }
  64. #region property
  65. private QueryParameterCollection _parameters;
  66. /// <summary>
  67. /// 命令参数集合
  68. /// </summary>
  69. public QueryParameterCollection Parameters
  70. {
  71. get { return _parameters; }
  72. set { _parameters = value; }
  73. }
  74. private List<string> _wherecolumn;
  75. /// <summary>
  76. /// 查询条件
  77. /// </summary>
  78. public List<string> WhereColumn
  79. {
  80. get { return _wherecolumn; }
  81. set { _wherecolumn = value; }
  82. }
  83. private string _moduleName;
  84. /// <summary>
  85. /// 模块
  86. /// </summary>
  87. public string ModuleName
  88. {
  89. get { return this._moduleName; }
  90. set { this._moduleName = value; }
  91. }
  92. private string _Key;
  93. /// <summary>
  94. /// 关键字
  95. /// </summary>
  96. public string Key
  97. {
  98. get { return this._Key; }
  99. set { this._Key = value; }
  100. }
  101. /// <summary>
  102. /// 参数符号
  103. /// </summary>
  104. public string DbParmChar
  105. { get; set; }
  106. private SqlEnum _SqlType;
  107. /// <summary>
  108. /// SqlStruct类型
  109. /// </summary>
  110. public SqlEnum SqlType
  111. {
  112. get { return this._SqlType; }
  113. set { this._SqlType = value; }
  114. }
  115. private string _commandText;
  116. /// <summary>
  117. /// 命令语句
  118. /// </summary>
  119. public string CommandText
  120. {
  121. get { return _commandText; }
  122. set { _commandText = value; }
  123. }
  124. private string _SqlString;
  125. /// <summary>
  126. /// 拼接Sql语句
  127. /// </summary>
  128. public string SqlString
  129. {
  130. get { return this._SqlString; }
  131. set { this._SqlString = value; }
  132. }
  133. private int _startRecord = 0;
  134. /// <summary>
  135. /// 开始记录数
  136. /// </summary>
  137. public int StartRecord
  138. {
  139. get { return _startRecord; }
  140. set { _startRecord = value; }
  141. }
  142. private int _maxRecords = 0;
  143. /// <summary>
  144. /// 最大记录类
  145. /// </summary>
  146. public int MaxRecords
  147. {
  148. get { return _maxRecords; }
  149. set { _maxRecords = value; }
  150. }
  151. private StringExtension.SqlComment sqlnotes;
  152. /// <summary>
  153. /// 添加SQL注释
  154. /// </summary>
  155. public StringExtension.SqlComment SqlNotes
  156. {
  157. get { return sqlnotes; }
  158. set { sqlnotes = value; }
  159. }
  160. #endregion
  161. }
  162. }