SqlHelper帮助类_上(SQLServer数据库含Connection详解)
在操作数据库时,经常会用到自己封装的SqlHelper。这里主要对SQLServer数据库的Sqlhelper,主要用于在同一个连接中完成CRUD!
一.ADO.NET中的Connection详解:
- 连接字符串
- 写法一:
- "Data Source=服务器名; Initial Catalog=数据库; User ID =用户名; Password=密码; Charset=UTF8; "
- 写法二:
- "Server=服务器名; Database=数据库; uid=用户名; Password=密码;Charser=UTF8"
注:Integrated Security = True;
解释:integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。
-
Connection:
- Connection是实现了IDisposable接口的对象。使用Connection需要释放资源。
using(Connection 对象) { //该方法体内容执行完后就自动释放资源了 }
二.config配置文件:
<connectionStrings> <add name="constr" connectionString="server=127.0.0.1;user id=用户名;password=密码;database=数据库"/> </connectionStrings>
三.SqlHelper:
/// <summary> /// 获取web.config的连接字符串 /// </summary> private static readonly string connstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; /// <summary> /// 将数据加载到本地,在本地对数据进行操作 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameter">参数化查询</param> /// <returns>返回从数据库中读取到的DataTable表</returns> public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameter) { using (SqlConnection conn = new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameter); DataTable tab = new DataTable(); using (SqlDataReader reader = cmd.ExecuteReader()) { tab.Load(reader); return tab; } } } /// <summary> /// 用于执行增加和删除语句 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameter">参数化查询</param> /// <returns>有多少语句执行成功</returns> public static int ExecuteNonQuery(string sql, params SqlParameter[] parameter) { using (SqlConnection conn = new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameter); return cmd.ExecuteNonQuery(); } } /// <summary> /// 执行语句后,返回第一行第一列的数据 /// </summary> /// <param name="sql"></param> /// <param name="parameter"></param> /// <returns>object类型的值</returns> public static object ExecuteScalar(string sql, params SqlParameter[] parameter) { using (SqlConnection conn = new SqlConnection(connstr)) using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameter); return cmd.ExecuteScalar(); } } /// <summary> /// 在数据库中,进行数据库的查询操作 /// </summary> /// <param name="sql"></param> /// <param name="parameter"></param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameter) { SqlConnection conn = new SqlConnection(connstr); using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; cmd.Parameters.AddRange(parameter); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } }