编写SQLHelper类

封装一个SQLHelper类的目的是使用ADO.NET连接数据库的时候,减少重复代码。利用面向对象的思想对连接数据库需要的代码进行封装为一个SQLHelper类。执行数据操作的时候只需要将SQL语句通过参数的形式传入SQLHelper类,可以大大的减少重复代码量。

SQLHelper类
已执行带参的SQL 语句为例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;namespace DAL
{public class SQLHelper{//声明连接数据库类类型参数conn初值为nullprivate SqlConnection conn = null;//声明命令类类型参数cmd初值为nullprivate SqlCommand cmd = null;//声明数据读取器类类型参数sdr初值为nullprivate SqlDataReader sdr = null;/// /// SQLHelper的构造方法,实例化SQLHelper类时同时实例化数据库连接对象/// public SQLHelper(){//接收配置文件中的连接数据库语句string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//实例化数据库连接对象conn = new SqlConnection(connStr);}/// /// 保证连接打开/// /// private SqlConnection GetConn(){//如何数据库连接为关闭状态if (conn.State ==ConnectionState.Closed){//打开数据库连接conn.Open();}return conn;}/// /// 执行带参的SQL增删改语句/// /// SQL增删改语句/// 参数集合/// public int ExecuteNonQuery(string sql, SqlParameter[] paras){int res;//using执行完时释放()中的内容,相应的数据库连接也将关闭//使用查询的文本和 System.Data.SqlClient.SqlConnection 初始化 System.Data.SqlClient.SqlCommand//类的新实例using (cmd = new SqlCommand(sql, GetConn())){//获取参数集合cmd.Parameters.AddRange(paras);// 对连接执行 Transact-SQL 语句并返回受影响的行数。res = cmd.ExecuteNonQuery();}//返回受影响行数return res;}/// /// 执行带参数的SQL查询语句/// /// SQL查询语句/// 参数集合/// public DataTable ExecuteQuery(string sql,SqlParameter[]paras ){//初始化 System.Data.DataTable 类的新实例。DataTable dt = new DataTable();//使用查询的文本和 System.Data.SqlClient.SqlConnection 初始化 System.Data.SqlClient.SqlCommand//类的新实例cmd = new SqlCommand(sql, GetConn());//在Parameters末尾添加值数组cmd.Parameters.AddRange(paras);//using执行完时释放()中的内容,相应的数据库连接也会关闭using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){//通过所提供的 System.Data.IDataReader,用某个数据源的值填充 System.Data.DataTable。 如果 System.Data.DataTable//     已经包含行,则从数据源传入的数据与现有行合并。dt.Load(sdr);}//返回查询结构return dt;}}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部