开始写一个属于自己的类库SqlHelper

这篇博客记录了作者创建个人类库SqlHelper的过程,旨在简化数据库操作。SqlHelper包含Insert/Delete/Update操作的封装,如ExecuteNonQuery(),以及返回单个值和多个值的函数ExecuteScalar()和ExecuteReader()。类库使用System.Data.SqlClient与App.config配置文件进行数据库连接。
摘要由CSDN通过智能技术生成
从现在开始写一个属于自己的类库,以后在编程的时候如果以前编写过相同的代码的话这时候可以直接拿过来调用,新手菜鸟,纯属娱乐,不要见笑!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace _0411
{
   public class SqlHelper
    {


        //创建App.config配置文件的连接字符串
        private static readonly string constr = ConfigurationManager.ConnectionStrings["sdb"].ConnectionString;
        //private static readonly string constr = "Data Source=1-PC;Initial Catalog=TestHomework;Integrated Security=true";
        //1.封装insert、delete、update函数ExecuteNonQuery();
        public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
        {
            //创建连接对象
            using (SqlConnection con = new SqlConnection(constr))
            {
                //创建执行对象
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    //首先判断sql语句中是否有参数
                    if (pms != null)
                    {
                        //存在可变参数,讲可变参数加入
                        cmd.Parameters.AddRange(pms);
                    }
                    //参数加入后,打开连接对象
                    con.Open();
                    //返回执行语句后所影响的行数
                    return cmd.ExecuteNonQuery();
                }

            }

        }

        //2.封装返回单个值的执行语句 ExecuteScalar();
        public static object ExecuteScalar(string sql, params SqlParameter[] pms)
        {
            //创建连接对象
            using (SqlConnection con = new SqlConnection(constr))
            {
                //创建执行对象
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    //首先判断sql语句中是否存在参数
                    if (pms != null)
                    {
                        //存在就讲参数加入
                        cmd.Parameters.AddRange(pms);
                    }

                    //打开数据库
                    con.Open();
                    //返回执行语句后的值
                    return cmd.ExecuteScalar();

                }

            }


        }

        //3.封装返回多个值的执行语句 ExecuteReader();
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
        {
            //首先创建连接对象,因为执行ExecuteReader需要所在连接必须打开,所以不能使用using
            SqlConnection con = new SqlConnection(constr);
            //创建执行对象
            using (SqlCommand cmd = new SqlCommand(sql, con))
            {
                //首先判断sql语句中是否有参数
                if (pms != null)
                {
                    //将参数加入
                    cmd.Parameters.AddRange(pms);
                }

                //存在异常 ,抓取异常
                try
                {
                    //打开数据库
                    con.Open();
                    //返回值 括号内的语句是关闭连接
                    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
                }
                catch
                {  //关闭,释放资源
                    con.Close();
                    con.Dispose();
                    throw;
                }

            }

        }
     
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值