再回首—SQLhelper的编写

原创 2016年05月30日 19:14:15

一、什么是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 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。

二、怎么写SQLhelper助手类

  SQLHelper分为四中情况:带参数的sql查询语句,带参数的增删改sql语句,不带参数的sql查询语句,sql增删改语句。看一下他们的代码(C#版) 

     ①  /// <summary>
        /// 执行不带参数的 增删改sql语句或存储过程
        /// </summary>
        /// <param name="cmdText"></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="sql">sql增删改语句</param>
        /// <param name="paras">参数集合</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="sql">命令类型</param>
        /// <returns></returns>
        public DataTable ExecuteQurey(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"></param>
     /// <param name="paras">sql查询语句</param></param>
     /// <param name="ct">命令类型</param>
     /// <returns></returns>
        public DataTable ExecuteQurey(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;
        }

    }

三、总结

  前辈们的代码我们可以拿来直接用,但是我们必须知道该怎么用。C#版的sqlhelper就这么点东西。至于更深的用法,还希望大神赐教!如有错误欢迎指正,不胜感激。

版权声明:本文为博主原创文章,未经博主允许不得转载。

【C#】 简单的SQLHelper

public class SQLHelper { private string m_SqlConnectionString = ""; private SqlC...
  • yueguangzhiyuan
  • yueguangzhiyuan
  • 2014年03月03日 14:54
  • 758

SqlHelper类的编写

package com.zy.test; import java.io.FileInputStream; import java.io.IOException; import java.sql.Ca...
  • a2459956664
  • a2459956664
  • 2016年11月17日 15:21
  • 184

java操作数据库的类——SqlHelper(读取properties配置文件)

配置文件mysql.properties内容: dbUserName=root dbPassword=root dbDriver=com.mysql.jdbc.Driver dbUrl=jdbc\:...
  • liugenghao3048
  • liugenghao3048
  • 2013年06月05日 11:52
  • 5677

自己编写SqlHelper类

SqlHelper是一个基于·NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlComma...
  • h0814
  • h0814
  • 2014年02月22日 19:41
  • 832

一步步编写SqlHelper类(C#)

在C#中使用ADO.NET连接数据库的时候,每次连接都要编写连接,打开,执行SQL语句的代码,很麻烦,编写一个SqlHelper类,把每次连接都要写的代码封装成方法,把要执行的SQL语句通过参数传进去...
  • yinnan0422
  • yinnan0422
  • 2016年06月16日 12:55
  • 7658

vb.net—SQLHelper类的使用

SqlHelper用于简化你重复的去写那些数据库连接SqlConnection,SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库...
  • akkzhjj
  • akkzhjj
  • 2013年04月28日 21:36
  • 4301

Java访问MySQL数据库的SqlHelper类以及测试程序

第一步:新建SqlHelper类; 第二步:新建一个属性文件dbinfo.properties,具体内容如下: driver=com.mysql.jdbc.Driver url=jdbc\:mysql...
  • educast
  • educast
  • 2015年01月07日 21:04
  • 3589

数据操作的封装--sqlhelper

为了提高软件的灵活性和可维护性,软件的代码需要科学的管理,我们引入了架构这个词。设计模式提醒我们,软件中重复性的代码需要封装起来。最近在做收费系统时,需要和数据库进行频繁的联系,既然是重复的使用,就需...
  • u010942465
  • u010942465
  • 2014年06月24日 11:40
  • 1444

编写SqlHelper

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C...
  • AinSnow
  • AinSnow
  • 2014年10月14日 23:07
  • 224

sqlhelper应用事务的例子

在csdn上看到这段代码,很不错,贴上来保存着,用using比较直观的知道资源何时释放。习惯用close()方法来释放SqlParameter[] signOnParms = GetSig...
  • pasic
  • pasic
  • 2009年04月06日 01:14
  • 2201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:再回首—SQLhelper的编写
举报原因:
原因补充:

(最多只允许输入30个字)