本文主要是介绍牛腩新闻发布系统(B/S)中的SQLHelper,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.关于SQLHelper的基础知识的说明,简单介绍一下:
SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法,SqlHelper有很多版本,主要以微软一开始发布的SqlHelper类,后面包含进了Enterprise Library开源包中了。还有一个主要版本是dbhelper.org开源的sqlhelper组件,优点是简洁,高性能,不仅仅支持sqlserver,同时支持sqlserver、oracle、access、Mysql数据库,也是一个开源项目,提供免费下载。
SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。
SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。
2.在这里主要说一下关于再次学习SQLHelper的感受:
在这次的B/S牛腩新闻发布系统的学习过程中,相对于C/S的学习中使用到的SQLHelper,略微有些不同,但很大部分还是和C/S的样子。其中关于SQLHelper的使用主要还是连接数据库的助手,执行SQL语句或存储过程。数据库助手的应用主要还是为了方便开发人员的开发和应用,减少代码量,以到达提高效率的作用。
/** 创建人:吴士龙* 创建时间:2015-07-15 17:12* 说明:数据库助手类* 版权所有:个人*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;namespace DAL
{public class SQLHelper{private SqlConnection conn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;public SQLHelper(){string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;conn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (conn.State == ConnectionState.Closed){conn.Open();}return conn;}/// <summary>/// 执行不带参数的增删改SQL语句或存储过程/// </summary>/// <param name="cmdText">增删改SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public int ExecuteNonQuery(string cmdText, CommandType ct){int res;try{cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;res = cmd.ExecuteNonQuery();}catch (Exception ex){throw ex;}finally{if (conn.State == ConnectionState.Open){conn.Close();}}return res;}/// <summary>/// 执行带参数的增删改SQL语句或存储过程/// </summary>/// <param name="cmdText">增删改SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct){int res;using (cmd = new SqlCommand(cmdText, GetConn())){cmd.CommandType = ct;cmd.Parameters.AddRange(paras);res = cmd.ExecuteNonQuery();}return res;}/// <summary>/// 执行查询SQL语句或存储过程/// </summary>/// <param name="cmdText">查询SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public DataTable ExecuteQuery(string cmdText, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}/// <summary>/// 执行带参数的查询SQL语句或存储过程/// </summary>/// <param name="cmdText">查询SQL语句或存储过程</param>/// <param name="paras">参数集合</param>/// <param name="ct">命令类型</param>/// <returns></returns>public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;cmd.Parameters.AddRange(paras);using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}}
}
这篇关于牛腩新闻发布系统(B/S)中的SQLHelper的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!