`
流星剑
  • 浏览: 94658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

封装的sql数据访问助手类

    博客分类:
  • .net
阅读更多
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace DAL
{
    public class sqlHelper
    {
        private SqlConnection conn = null;
        private SqlCommand cmd = null;
        private DataTable dt = null;

        public sqlHelper()
        {
            string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
            conn = new SqlConnection(connStr);
        }
        /// <summary>连接对象
        /// 
        /// </summary>
        /// <returns></returns>
        public SqlConnection getConn()
        {

            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            return conn;
        }
        /// <summary>执行返回一行的增删改sql语句或存储过程
        /// 
        /// </summary>
        /// <param name="cmdText">sql语句或存储过程</param>     
        /// <param name="paras">参数变量</param>
        /// <param name="ct">命令类型</param>
        /// <returns></returns>
        public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
        {
            int i;
            try
            {
                cmd = new SqlCommand(cmdText, getConn());
                cmd.Parameters.AddRange(paras);
                cmd.CommandType = ct;
                i = cmd.ExecuteNonQuery();

            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return i;
        }
        /// <summary> 执行返回结果集的sql语句或存储过程的查询
        ///
        /// </summary>
        /// <param name="cmdText"></param>
        /// <param name="paras"></param>
        /// <param name="ct"></param>
        /// <returns></returns>
        public DataTable ExecuteReader(string cmdText, SqlParameter[] paras, CommandType ct)
        {
            dt = new DataTable();
            cmd = new SqlCommand(cmdText, getConn());
            cmd.Parameters.AddRange(paras);
            cmd.CommandType = ct;
            using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                dt.Load(sdr);
            }
            return dt;
        }
        /// <summary>执行返回结果集中第一行第一列的查询
        /// 
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="paras"></param>
        /// <returns></returns>
        public string ExecuteScalar(string sql)
        {
            using (cmd = new SqlCommand(sql, getConn()))
            {
                string res = cmd.ExecuteScalar().ToString();
                if (res == "" && res == null)
                {
                    return "";
                }
                else
                {
                    return res;
                }
            }
            //以下这种方式也可以
            //try
            //{
            //    cmd = new SqlCommand(sql, getConn());
            //    object obj = cmd.ExecuteScalar();
            //    if (obj != null)
            //    {
            //        return obj.ToString();
            //    }
            //    return "";
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
            //finally
            //{
            //    if (conn.State == ConnectionState.Open)
            //    {
            //        conn.Close();
            //    }
            //}
        }
    }
}

 

分享到:
评论

相关推荐

    基于net的超市管理系统源代码(完整前后端+sqlserver+说明文档+LW).zip

    功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。

    LABVIEW程序实例-公式节点.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    大米商城开源版damishop(适合外贸)

    大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插

    LABVIEW程序实例-通过全局变量接收数据.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    LABVIEW程序实例-日历控件.zip

    labview程序代码参考学习使用,希望对你有所帮助。

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频.zip

    毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频

Global site tag (gtag.js) - Google Analytics