数据库访问工具类

 
  
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Configuration;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. using System.Reflection;
  10. namespace StudentDLL
  11. {
  12. public class Datebase
  13. {
  14. private static string _sqlserver = ConfigurationManager.ConnectionStrings["sqlserver"].ToString();
  15. private SqlConnection conn;
  16. /// <summary>
  17. /// 初始化conn并且打开sqlconnection
  18. /// </summary>
  19. public SqlConnection Conn
  20. {
  21. get
  22. {
  23. if (conn == null)
  24. {
  25. conn = new SqlConnection(_sqlserver);
  26. }
  27. if (conn.State == ConnectionState.Closed)
  28. {
  29. conn.Open();
  30. }
  31. else if (conn.State == ConnectionState.Broken)
  32. {
  33. conn.Close();
  34. conn.Open();
  35. }
  36. return conn;
  37. }
  38. }
  39. #region 关闭数据库连接
  40. public void CloseSqlconnection()
  41. {
  42. if (conn.State == ConnectionState.Open || conn.State == ConnectionState.Broken)
  43. {
  44. conn.Close();
  45. }
  46. }
  47. #endregion
  48. #region 查询
  49. /// <summary>
  50. /// 使用T-SQL语句查询
  51. /// </summary>
  52. /// <param name="sql"></param>
  53. /// <returns></returns>
  54. public DataSet executeReader(string sql)
  55. {
  56. DataSet ds = new DataSet();
  57. using(SqlDataAdapter da=new SqlDataAdapter(sql,conn)){da.Fill(ds);}
  58. CloseSqlconnection();
  59. return ds;
  60. }
  61. /// <summary>
  62. /// T-Sql参数化查询
  63. /// </summary>
  64. /// <param name="sql"></param>
  65. /// <param name="par"></param>
  66. /// <returns></returns>
  67. public DataSet executeReader(string sql, params SqlParameter[] par)
  68. {
  69. DataSet ds = new DataSet();
  70. using (SqlDataAdapter da = new SqlDataAdapter(sql, Conn))
  71. {
  72. da.SelectCommand.Parameters.AddRange(par);
  73. da.Fill(ds);
  74. }
  75. CloseSqlconnection();
  76. return ds;
  77. }
  78. /// <summary>
  79. /// 不带参数存储过程查询
  80. /// </summary>
  81. /// <param name="procName">存储过程名称</param>
  82. /// <returns>DataSet表</returns>
  83. public DataSet procExecuteReader(string procName)
  84. {
  85. DataSet ds = new DataSet();
  86. using (SqlDataAdapter dar = new SqlDataAdapter(procName, Conn))
  87. {
  88. dar.SelectCommand.CommandType = CommandType.StoredProcedure;
  89. dar.Fill(ds);
  90. }
  91. CloseSqlconnection();
  92. return ds;
  93. }
  94. /// <summary>
  95. /// 参数化存储过程查询
  96. /// </summary>
  97. /// <param name="procName">存储过程名称</param>
  98. /// <param name="par"></param>
  99. /// <returns>DataSet</returns>
  100. public DataSet procExecuteReader(string procName,params SqlParameter [] par)
  101. {
  102. DataSet ds = new DataSet();
  103. using (SqlDataAdapter dar = new SqlDataAdapter(procName,Conn))
  104. {
  105. dar.SelectCommand.CommandType = CommandType.StoredProcedure;
  106. dar.SelectCommand.Parameters.AddRange(par);
  107. dar.Fill(ds);
  108. }
  109. CloseSqlconnection();
  110. return ds;
  111. }
  112. #endregion
  113. #region 增删改
  114. /// <summary>
  115. /// 使用sql语句增删改
  116. /// </summary>
  117. /// <param name="sql"></param>
  118. /// <returns></returns>
  119. public int executeNoQuery(string sql)
  120. {
  121. int dr = 0;
  122. using (SqlCommand comm = new SqlCommand(sql, Conn))
  123. {
  124. dr = comm.ExecuteNonQuery();
  125. }
  126. CloseSqlconnection();
  127. return dr;
  128. }
  129. /// <summary>
  130. /// 使用参数化增删改
  131. /// </summary>
  132. /// <param name="sql"></param>
  133. /// <param name="obj"></param>
  134. /// <returns></returns>
  135. public int executeNoQuery(string sql,params SqlParameter [] par)
  136. {
  137. int dr = 0;
  138. using (SqlCommand comm = new SqlCommand(sql, Conn))
  139. {
  140. comm.Parameters.AddRange(par);
  141. dr = comm.ExecuteNonQuery();
  142. }
  143. CloseSqlconnection();
  144. return dr;
  145. }
  146. /// <summary>
  147. /// 使用存储过程增删改
  148. /// </summary>
  149. /// <returns></returns>
  150. public int procExecuteNoQuery(string procName,params SqlParameter[] par)
  151. {
  152. int result = 0;
  153. using (SqlCommand comm = new SqlCommand(procName,Conn))
  154. {
  155. comm.CommandType = CommandType.StoredProcedure;
  156. comm.Parameters.AddRange(par);
  157. result = comm.ExecuteNonQuery();
  158. }
  159. CloseSqlconnection();
  160. return result;
  161. }
  162. #endregion
  163. }
  164. }



转载于:https://www.cnblogs.com/BookCode/p/ec47195a9d16abd4798d7677ea3d72ea.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.hexiang.utils; /** * SQLUtils utils = new SQLUtils(User.class); utils.setWhereStr("", "id", "=", 100).setWhereStr("and", "name", " ", "is null").setWhereStr("and", "date", ">=", new Date()); utils.setOrderByStr("id", "desc").setOrderByStr("name", "asc"); System.out.println(utils.buildSelectSQL()); System.out.println(utils.buildCountSQL()); */ import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class SqlUtils { private String beanName; private String beanShortName; private Map propertyMap; private List conditionList; private List relationList; private Map orderByMap; public SqlUtils(Class instance) { this.setBeanName(instance.getSimpleName()); this.setBeanShortName(Character.toLowerCase(this.getBeanName() .charAt(0)) + ""); init(); } public SqlUtils() { init(); } void init(){ propertyMap = new LinkedHashMap(); conditionList = new LinkedList(); relationList = new LinkedList(); orderByMap = new LinkedHashMap(); } /** * 添加查询条件 * * @param relation * 关联 "and","or"等 * @param property * 查询的对象属性 * @param condition * 查询的条件,关系符 * @param value * 查询的值 */ public SqlUtils setWhereStr(String relation, String property, String condition, Object value) { if(value != null){ relationList.add(relation); propertyMap.put(property, value); conditionList.add(condition); } return this; } private String buildWhereStr() { StringBuffer buffer = new StringBuffer(); if (!propertyMap.isEmpty() && propertyMap.size() > 0) { buffer.append("WHERE 1 = 1 "); int index = 0; for (String property : propertyMap.keySet()) { if (property != null && !property.equals("")) { buffer.append(r

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值