`
Lin_
  • 浏览: 15851 次
  • 性别: Icon_minigender_1
  • 来自: 汕头
社区版块
存档分类
最新评论

助手类

阅读更多
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 string connStr = null;
        private SqlConnection conn = null;
        private SqlCommand cmd = null;
        private SqlDataReader sdr = null;
        public SQLHelper()
        {
            //connStr=Web.config连接字符串
            connStr=@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Db.mdf;Integrated Security=True;User Instance=True";
            /*
                 <connectionStrings>
                  <add name="DbConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Db.mdf;Integrated Security=True;User Instance=True"
                   providerName="System.Data.SqlClient" />
                 </connectionStrings>
             */
            conn = new SqlConnection(connStr);
        }

        /// <summary>
        /// 获取Connection对象
        /// </summary>
        /// <returns></returns>
        private SqlConnection GetConn()
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            return conn;
        }

        /// <summary>
        /// 执行查询
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="ct">cmdType类型</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))//关闭cmd同时关闭conn
            {
                dt.Load(sdr);
            }
            return dt;
        }
        
        /// <summary>
        /// 执行带参数的查询
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="para">Para参数</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(string cmdText, SqlParameter[] para,CommandType ct)
        {
            DataTable dt = new DataTable();
            cmd = new SqlCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            cmd.Parameters.AddRange(para);
            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))//关闭cmd同时关闭conn
            {
                dt.Load(sdr);
            }
            return dt;
        }
        
        /// <summary>
        /// 执行sql增删改
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public int ExecuteNoQuery(string cmdText,CommandType ct)
        {
            int res;
            cmd = new SqlCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            try
            {
                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="para">Para参数</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public int ExecuteNoQuery(string cmdText, SqlParameter[] para,CommandType ct)
        {
            int res;
            cmd = new SqlCommand(cmdText, GetConn());
            cmd.CommandType=ct;
            cmd.Parameters.AddRange(para);
            try
            {
                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>
        /// <returns></returns>
   /*    public object ExecuteScalar(string sql)
        {
            object res;

            cmd = new SqlCommand(sql, GetConn());

            try
            {
                res = cmd.ExecuteScalar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return res;
        }
  */
    }
}



/*
 林舜煌
 */

using System;
using System.Collections.Generic;
using System.Web;
using System.Data.OleDb;
using System.Data;
using System.Configuration;

/// <summary>
///OldHelper access数据库助手类
/// </summary>

namespace DAL
{
    public class OledbHelper
    {
        private string connStr = null;
        private OleDbConnection conn = null;
        private OleDbCommand cmd = null;
        private OleDbDataReader sdr = null;
        public OledbHelper()
        {
            /*
                <connectionStrings>
                    <add name="DbConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\WebSite2\App_Data\db1.mdb;Persist Security Info=True" />
                </connectionStrings>
                connStr = ConfigurationManager.ConnectionStrings["DbConnectionString"].ConnectionString;
            
             */
            connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\WebSite2\App_Data\db1.mdb;Persist Security Info=True";
            conn = new OleDbConnection(connStr);

        }

        /// <summary>
        /// 获取Connection对象
        /// </summary>
        /// <returns></returns>
        private OleDbConnection GetConn()
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            return conn;
        }

        /// <summary>
        /// 执行查询
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(string cmdText, CommandType ct)
        {
            DataTable dt = new DataTable();
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))//关闭cmd同时关闭conn
            {
                dt.Load(sdr);
            }
            return dt;
        }

        /// <summary>
        /// 执行带参数的查询
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="para">Para参数</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(string cmdText, OleDbParameter[] para, CommandType ct)
        {
            DataTable dt = new DataTable();
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            cmd.Parameters.AddRange(para);
            using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))//关闭cmd同时关闭conn
            {
                dt.Load(sdr);
            }
            return dt;
        }

        /// <summary>
        /// 执行sql增删改
        /// </summary>
        /// <param name="cmdText">要执行的sql语句、或存储过程名</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public int ExecuteNoQuery(string cmdText, CommandType ct)
        {
            int res;
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            try
            {
                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="para">Para参数</param>
        /// <param name="ct">cmdType类型</param>
        /// <returns></returns>
        public int ExecuteNoQuery(string cmdText, OleDbParameter[] para, CommandType ct)
        {
            int res;
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            cmd.Parameters.AddRange(para);
            try
            {
                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="para">参数集</param>
        /// <returns></returns>
        public object ExecuteScalar(string cmdText, OleDbParameter[] para, CommandType ct)
        {
            object res;
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            cmd.Parameters.AddRange(para);
            try
            {
                res = cmd.ExecuteScalar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return res;
        }

        /// <summary>
        /// 执行返回单一数据的sql语句
        /// </summary>
        /// <param name="sql">要执行的sql语句</param>
        /// <returns></returns>
        public object ExecuteScalar(string cmdText, CommandType ct)
        {
            object res;
            cmd = new OleDbCommand(cmdText, GetConn());
            cmd.CommandType = ct;
            try
            {
                res = cmd.ExecuteScalar();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return res;
        }
    }
}

分享到:
评论

相关推荐

    TCP与UDP助手类.

    本篇将深入讲解C#中实现TCP与UDP助手类的相关知识点,帮助你更好地理解和运用这两种协议。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过建立三次握手来确保连接的可靠性,并且在数据...

    sql数据库助手类

    "Sql数据库助手类"通常是指一个封装了常见SQL操作的C#类库,用于简化开发人员与数据库的交互过程。这类助手类通常包含了连接数据库、执行SQL语句、处理结果集等功能,以提高开发效率并降低错误率。 `SqlHelper.cs`...

    (模版)新建一个SQLiteOpenHelper助手类.xml

    (代码模板)新建一个SQLiteOpenHelper助手类.xml

    .NET操作数据库助手类包集

    因为工作至今接触的数据库还算比较全面,每次搭建新项目开发数据库选择后,都要编写整理对应的.NET与数据库交互的DBHelper助手类,时间一长,便将各类型数据库助手类整理出来共享,在提升大家开发效率的同时,减少...

    微信支付助手类

    微信支付助手类是用于处理微信支付相关业务的代码模块,它是微信支付API接口与开发者应用之间的桥梁。在移动支付领域,微信支付已经成为重要的支付方式之一,因此理解和掌握微信支付助手类对于开发支持微信支付的...

    SqlHelper数据库助手类

    链接数据库

    swift-RxSwift的助手类和扩展

    为了更好地利用RxSwift的功能并简化代码,开发者经常创建各种助手类和扩展来增强其核心功能。"swift-RxSwift的助手类和扩展"这个主题主要涉及如何构建和使用这样的辅助工具,以提升项目的可读性和维护性。 首先,...

    NPOI V1.2.4 Excel导入/导出 助手类

    这个"ExcelHelper"助手类是基于NPOI V1.2.4版本,设计用于简化Excel的导入和导出操作。 导入Excel时,`ExcelHelper`可能封装了以下功能: 1. **读取工作簿**:通过NPOI的`HSSFWorkbook`或`XSSFWorkbook`类,根据...

    noCAPTCHAGoogle的noCAPTCHAreCAPTCHA的助手类

    这个库提供了一个助手类,使得开发者可以轻松地在项目中实施reCAPTCHA验证,而无需深入理解其背后的复杂机制。 **使用步骤** 1. **安装库**:首先,你需要通过Composer来安装`ARCANEDEV/noCAPTCHA`库。在你的项目...

    [视频]基于.NET框架的分层开发-基础篇-04-数据库访问助手类简介.mp4

    本教学部分简单介绍了在微软原版的数据库访问助手基础之上改造的数据库访问助手类的功能。 本课程教程为本人原创,欢迎学习使用,请勿使用商业用途。 开发IDE为VS2013,数据库为MS SQL 2012。 本资源中有视频教程和...

    适用于任何框架的高效的Memcache助手类

    这个助手类主要特点,Memcache连接复用,一个http请求只使用一个Memcache连接,使用Key前缀,使多个项目共享Memcache实例,这个助手类可用于任意框架(codeigniter可放于helper文件夹下).

    Ruby-drycrud帮你生成简单和可扩展的控制权视图以及助手类RubyonRails

    4. **助手类**:`dry_crud`生成的助手类提供了便利的方法,帮助你在视图中更加方便地操作数据,如显示表单、处理错误信息等。这些助手方法可以使得视图层的代码更加清晰,降低了耦合度。 5. **与Rails集成**:`dry_...

    C#写的SQL2005 数据库助手类+完整注释(适合新手)高手闪过

    数据库增删改差功能的数据库助手类,适合新人学习使用.高手闪过.用C#写的,可以用在C/S架构或B/S架构

    数据助手类

    数据助手类是编程中一种非常实用的设计模式,它主要用于封装数据库操作,使代码更加模块化、易维护。在初学者的编程旅程中,理解和掌握数据助手类是提升技能的重要步骤。下面将详细介绍数据助手类的概念、作用以及...

    适用于任何php框架的高效的Memcache助手类

    这个助手类主要特点,Memcache连接复用,一个http请求只使用一个Memcache连接,使用Key前缀,使多个项目共享Memcache实例,这个助手类可用于任意框架(codeigniter可放于helper文件夹下).

    串行通信串口助手类C#源码

    1.常见的串口 (1)RS-232接口:通常适合于数据传输频率在0~20000bps范围的通信。... 不足:抗干扰能力差,通信距离短,速率低。 (2)RS-422/485接口:传输速度和通信距离变得非常远(1200m),并且在一条平衡总线...

    Tup.Utilities:一组 C# 工具助手类(C # tools a set of helper classes)

    搜集的一组 C# 工具助手类 (C# tools a set of helper classes) .NET 版本 .NET Framework 4.6.2 目前包括助手类 (Currently includes): RequestHelper: 助手(HttpWebRequest helper) 支持 GET/POST 下载 HTML 或者 ...

    基于CSerial类写的串口助手vs2010平台

    接下来,我们需要定义一个串口助手类,继承自CDialog,这个类将包含CSerial对象,用于实际的串口操作。在类定义中,初始化CSerial对象,并在对话框的 OnInitDialog 函数中配置串口参数,如设置波特率为9600,数据位...

    水晶报表助手类

    **水晶报表助手类** 水晶报表(Crystal Reports)是一款强大的报告设计工具,广泛应用于.NET应用程序中,用于生成复杂的数据报表。为了简化将Crystal Reports与.NET框架的集成过程,开发者通常会创建辅助类,这类...

    易优系统助手.zip

    在IT领域,系统助手类软件通常具备多种实用功能,例如清理垃圾文件、管理启动项、修复系统错误、保护隐私、优化网络设置等。易优系统助手很可能也具备这些特性,帮助用户解决日常计算机使用中遇到的问题。 首先,...

Global site tag (gtag.js) - Google Analytics