加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

通用数据访问层--SQLServer版

发布时间:2020-12-12 15:48:04 所属栏目:MsSql教程 来源:网络整理
导读:using ?System; using ?System.Data; using ?System.Configuration; using ?System.Web; using ?System.Web.Security; using ?System.Web.UI; using ?System.Web.UI.WebControls; using ?System.Web.UI.WebControls.WebParts; using ?System.Web.UI.HtmlCont
  1. using?System;
  2. using?System.Data;
  3. using?System.Configuration;
  4. using?System.Web;
  5. using?System.Web.Security;
  6. using?System.Web.UI;
  7. using?System.Web.UI.WebControls;
  8. using?System.Web.UI.WebControls.WebParts;
  9. using?System.Web.UI.HtmlControls;
  10. using?System.Data.SqlClient;
  11. ///?<summary>
  12. ///?DBmanager的摘要说明
  13. ///?</summary>
  14. public?class?DBmanager
  15. {
  16. ????private?static?readonly?string?sqlCon?=?ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  17. ????protected?static?SqlConnection?GetSqlconnection()//返回SqlConnection对象;
  18. ????{
  19. ????????SqlConnection?sqlcon?=?new?SqlConnection(sqlCon);
  20. ????????return?sqlcon;
  21. ????}
  22. ????//
  23. ????//?TODO:
  24. ????///?<summary>
  25. ????///?检测记录是否存在
  26. ????///?</summary>
  27. ????///?<param?name="CheckedField">被检测的字段</param>
  28. ????///?<param?name="CheckedContent">字段的内容</param>
  29. ????///?<param?name="CheckedTable">被检测的字段所在的表</param>
  30. ????///?<returns>True:存在,False:不存在</returns>
  31. ????public?static?bool?IsExistRecord(string?CheckedField,?string?CheckedContent,?string?CheckedTable)
  32. ????{
  33. ????????string?IsExistConditon?=?"where?"?+?CheckedField?+?"="?+?CheckedContent?+?"";
  34. ????????string?IsExistSQL?=?"select?"?+?CheckedField?+?"?from?"?+?CheckedTable?+?"?"?+?IsExistConditon?+?"";
  35. ????????SqlDataReader?myReader?=?Static_getDataReadBySql(IsExistSQL);
  36. ????????if?(myReader.Read())
  37. ????????{
  38. ????????????if?(myReader?!=?null)?{?myReader.Close();?}
  39. ????????????return?true;//存在
  40. ????????}
  41. ????????else
  42. ????????{
  43. ????????????if?(myReader?!=?null)?{?myReader.Close();?}
  44. ????????????return?false;//不存在
  45. ????????}
  46. ????}
  47. ????///?<summary>
  48. ????///?根据SQL语句返回一个数据集对象
  49. ????///?</summary>
  50. ????///?<param?name="Sqlcmd">要生成数据集对象的SqlCommand</param>
  51. ????///?<returns>返回值:DataSet</returns>
  52. ????public?static?DataSet?Static_getDataSet(SqlCommand?Sqlcmd)
  53. ????{
  54. ????????//连接对象
  55. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  56. ????????//sql命令
  57. ????????Sqlcmd.Connection?=?sqlCon;
  58. ????????//适配器
  59. ????????SqlDataAdapter?sqlData?=?new?SqlDataAdapter();
  60. ????????sqlData.SelectCommand?=?Sqlcmd;
  61. ????????DataSet?ds?=?new?DataSet();
  62. ????????sqlData.Fill(ds);
  63. ????????return?ds;
  64. ????}
  65. ????///?<summary>
  66. ????///?根据SQL语句返回一个数据集对象
  67. ????///?</summary>
  68. ????///?<param?name="sqlstr">要生成数据集对象的string</param>
  69. ????///?<returns>返回值:DataSet</returns>
  70. ????public?static?DataSet?Static_getDataSet(string?sqlstr)
  71. ????{
  72. ????????//连接对象
  73. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  74. ????????SqlCommand?cmd?=?new?SqlCommand();
  75. ????????cmd.CommandText?=?sqlstr;
  76. ????????//sql命令
  77. ????????cmd.Connection?=?sqlCon;
  78. ????????//适配器
  79. ????????SqlDataAdapter?sqlData?=?new?SqlDataAdapter();
  80. ????????sqlData.SelectCommand?=?cmd;
  81. ????????DataSet?ds?=?new?DataSet();
  82. ????????sqlData.Fill(ds);
  83. ????????return?ds;
  84. ????}
  85. ????///?<summary>
  86. ????///?根据SQL语句返回一个数据集对象
  87. ????///?</summary>
  88. ????///?<param?name="sqlstr">要生成数据集对象的string</param>
  89. ????///?<param?name="tbname">指定返回数据集的表名称</param>
  90. ????///?<returns>返回值:DataSet</returns>
  91. ????public?static?DataSet?Static_getDataSet(string?sqlstr,?string?tbname)
  92. ????{
  93. ????????//连接对象
  94. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  95. ????????SqlCommand?cmd?=?new?SqlCommand();
  96. ????????cmd.CommandText?=?sqlstr;
  97. ????????//sql命令
  98. ????????cmd.Connection?=?sqlCon;
  99. ????????//适配器
  100. ????????SqlDataAdapter?sqlData?=?new?SqlDataAdapter();
  101. ????????sqlData.SelectCommand?=?cmd;
  102. ????????DataSet?ds?=?new?DataSet();
  103. ????????sqlData.Fill(ds,?tbname);
  104. ????????return?ds;
  105. ????}
  106. ????///?<summary>
  107. ????///?根据SQL语句返回一个数据视图对象
  108. ????///?</summary>
  109. ????///?<param?name="Sqlcmd">要生成数据集对象的SqlCommand</param>
  110. ????///?<returns>返回值:DataView</returns>
  111. ????public?static?DataView?Static_getDataView(SqlCommand?Sqlcmd)
  112. ????{
  113. ????????//连接对象
  114. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  115. ????????//sql命令
  116. ????????Sqlcmd.Connection?=?sqlCon;
  117. ????????//适配器
  118. ????????SqlDataAdapter?sqlData?=?new?SqlDataAdapter();
  119. ????????sqlData.SelectCommand?=?Sqlcmd;
  120. ????????DataSet?ds?=?new?DataSet();
  121. ????????sqlData.Fill(ds);
  122. ????????return?ds.Tables[0].DefaultView;
  123. ????}
  124. ????///?<summary>
  125. ????///?根据SqlCommand对象的实例返回SqlDataAdapter对象
  126. ????///?</summary>
  127. ????///?<param?name="Sqlcmd">SqlCommand对象</param>
  128. ????///?<returns>SqlDataAdapter?SqlDataAdapter对象的实例</returns>
  129. ????public?static?SqlDataAdapter?Static_getDataAdapter(SqlCommand?Sqlcmd)
  130. ????{
  131. ????????//连接对象
  132. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  133. ????????//sql命令
  134. ????????Sqlcmd.Connection?=?sqlCon;
  135. ????????//适配器
  136. ????????SqlDataAdapter?sqlData?=?new?SqlDataAdapter();
  137. ????????sqlData.SelectCommand?=?Sqlcmd;
  138. ????????return?sqlData;
  139. ????}
  140. ????///?<summary>
  141. ????///?根据传递过来的参数返回一个数据读对象
  142. ????///?</summary>
  143. ????///?<param?name="strSql">String?SQL语句</param>
  144. ????///?<returns>SqlDataReader?SqlDataReader对象的实例</returns>
  145. ????public?static?SqlDataReader?Static_getDataReadBySql(string?strSql)
  146. ????{
  147. ????????//连接对象
  148. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  149. ????????//sql命令
  150. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  151. ????????sqlCmd.CommandType?=?CommandType.Text;
  152. ????????sqlCmd.CommandText?=?strSql;
  153. ????????sqlCmd.Connection?=?sqlCon;
  154. ????????//
  155. ????????sqlCon.Open();
  156. ????????SqlDataReader?sqlRead?=?sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
  157. ????????//sqlCon.Close();
  158. ????????return?sqlRead;
  159. ????}
  160. ????///?<summary>
  161. ????///?根据传递过来的参数返回一个数据读对象
  162. ????///?</summary>
  163. ????///?<param?name="Conn">SqlConnection 数据库连接对象</param>
  164. ????///?<param?name="SQL">String?SQL语句</param>
  165. ????///?<returns>SqlDataReader?SqlDataReader对象的实例</returns>
  166. ????public?static?SqlDataReader?Static_GetSqlDataReader(SqlConnection?Conn,?String?Str_SQL)
  167. ????{
  168. ????????//连接对象
  169. ????????SqlConnection?sqlCon?=?Conn;
  170. ????????//sql命令
  171. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  172. ????????sqlCmd.CommandType?=?CommandType.Text;
  173. ????????sqlCmd.CommandText?=?Str_SQL;
  174. ????????sqlCmd.Connection?=?sqlCon;
  175. ????????//
  176. ????????sqlCon.Open();
  177. ????????SqlDataReader?sqlRead?=?sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
  178. ????????//sqlCon.Close();
  179. ????????return?sqlRead;
  180. ????}
  181. ????///?<summary>
  182. ????///?执行传递过来的SQL语句
  183. ????///?</summary>
  184. ????///?<param?name="strSql">string?要执行的SQL语句</param>
  185. ????public?static?void?Static_excuteSql(string?strSql)
  186. ????{
  187. ????????//连接对象
  188. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  189. ????????//sql命令
  190. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  191. ????????sqlCmd.CommandType?=?CommandType.Text;
  192. ????????sqlCmd.CommandText?=?strSql;
  193. ????????sqlCmd.Connection?=?sqlCon;
  194. ????????sqlCon.Open();
  195. ????????sqlCmd.ExecuteNonQuery();
  196. ????????sqlCon.Close();
  197. ????}
  198. ????///?<summary>
  199. ????///?执行传递过来的SQL语句返回受影响的行数
  200. ????///?</summary>
  201. ????///?<param?name="strSql">string?要执行的SQL语句</param>
  202. ????///?<returns>int?受影响的行数</returns>
  203. ????public?static?int?Static_excuteNonQuerySqlCount(string?strSql)
  204. ????{
  205. ????????//连接对象
  206. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  207. ????????//sql命令
  208. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  209. ????????sqlCmd.CommandType?=?CommandType.Text;
  210. ????????sqlCmd.CommandText?=?strSql;
  211. ????????sqlCmd.Connection?=?sqlCon;
  212. ????????sqlCon.Open();
  213. ????????int?i;
  214. ????????i?=?sqlCmd.ExecuteNonQuery();
  215. ????????sqlCon.Close();
  216. ????????return?i;
  217. ????}
  218. ????///?<summary>
  219. ????///?执行传递过来的SQL语句
  220. ????///?</summary>
  221. ????///?<param?name="strSql">string?要执行的SQL语句</param>
  222. ????///?<returns>int?受影响的行数</returns>
  223. ????public?static?object?Static_excuteSqlCount(string?strSql)
  224. ????{
  225. ????????//连接对象
  226. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  227. ????????//sql命令
  228. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  229. ????????sqlCmd.CommandType?=?CommandType.Text;
  230. ????????sqlCmd.CommandText?=?strSql;
  231. ????????sqlCmd.Connection?=?sqlCon;
  232. ????????sqlCon.Open();
  233. ????????object?obj;
  234. ????????obj?=?sqlCmd.ExecuteScalar();
  235. ????????sqlCon.Close();
  236. ????????return?obj;
  237. ????}
  238. ????///?<summary>
  239. ????///?执行存储过程返回数据集
  240. ????///?</summary>
  241. ????///?<param?name="p_strProcName">存储过程名称</param>
  242. ????///?<param?name="cmdParams">存储过程参数</param>
  243. ????///?<returns>Dataset</returns>??????????
  244. ????public?static?DataSet?Static_ExcuteQueryDataByProc(string?p_strProcName,?SqlParameter[]?cmdParams)
  245. ????{
  246. ????????//连接对象
  247. ????????SqlConnection?sqlCon?=?GetSqlconnection();
  248. ????????DataSet?dsTemp?=?new?DataSet();
  249. ????????SqlDataAdapter?sqlAdapter?=?new?SqlDataAdapter();
  250. ????????SqlCommand?sqlCmd?=?new?SqlCommand();
  251. ????????sqlCmd.CommandType?=?CommandType.StoredProcedure;
  252. ????????sqlCmd.CommandText?=?p_strProcName;
  253. ????????sqlCmd.Connection?=?sqlCon;
  254. ????????//添加参数
  255. ????????for?(int?i?=?0;?i?<?cmdParams.Length;?i++)
  256. ????????????sqlCmd.Parameters.Add(cmdParams[i]);
  257. ????????sqlAdapter.SelectCommand?=?sqlCmd;
  258. ????????sqlAdapter.Fill(dsTemp);
  259. ????????return?dsTemp;
  260. ????}
  261. ????//
  262. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读