C#基础学习21(封装SQLHelper)

优点:代码重用率高,便于维护易修改,代码更简洁、条理

在App.config中添加

<connectionStrings>
  <add name="connStr" connectionString="server=localhost;user id=root;password=123;database=pqxit;charset=utf8;port=3306"/>
</connectionStrings>

SQLHelper类中调用时首先要添加引用System.configuration,类中using System.configuration; 

SQLHelper类:

public class SQLHelper
{
    //连接字符串,从App.config中获取
    private static readonly string connStr=ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

    public static int ExecuteNonQuery(string sql,MySqlParameter[] msp)
    {
        using (MySqlConnection conn = new MySqlConnection(connStr))
        {
            using (MySqlCommand mcmd = new MySqlCommand(sql,conn))
            {
                if (msp!=null)
                {
                    //如果传过来了Parameter则赋值
                    mcmd.Parameters.AddRange(msp);
                }
                conn.Open();
                return mcmd.ExecuteNonQuery();
            }
        }
    }

    public static object ExecuteScalar(string sql, MySqlParameter[] msp)
    {
        using (MySqlConnection conn=new MySqlConnection(connStr))
        {
            using (MySqlCommand mcmd=new MySqlCommand(sql,conn))
            {
                if (msp!=null)
                {
                    mcmd.Parameters.AddRange(msp);
                }
                conn.Open();
                return mcmd.ExecuteScalar();
            }
        }
    }

    public static MySqlDataReader ExecuteReader(string sql, MySqlParameter[] msp)
    {
        MySqlConnection conn = new MySqlConnection(connStr);
        using (MySqlCommand mcmd = new MySqlCommand(sql,conn))
        {
            if (msp!=null)
            {
                mcmd.Parameters.AddRange(msp);
            }
            try
            {
                conn.Open();
                return mcmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);//当ExecuteReader对象用完关闭时,也把它关联的Connection对象一块关闭
            }
            catch (Exception ex)
            {
                conn.Close();
                conn.Dispose();
                throw ex;
            }
        }
    }
}

在用到的时候直接类目.方法(SQLHelper.ExecuteNonQuery(sql,null))就可以

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值