.net 封装助手类

这篇博客介绍了如何在.NET环境中封装一个SQLHelper类,包括在web.config配置连接字符串,创建类并引用命名空间,定义全局变量以优化数据库操作。内容详细讲解了SQLHelper类中查询数据、执行增删改操作、返回DataReader和DataTable的方法,并给出了调用示例,如删除方法的调用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先在web.config配置链接字符串,方便使用
在这里插入图片描述

<connectionStrings>
    <add name="conn" connectionString="server=.;database=Students;uid=sa;pwd=123"/>
  </connectionStrings>

2.新建一个类命名为SQLHelper并引用以下命名空间

using System.Data.SqlClient;
using System.Configuration;
using System.Data;

3.获取链接字符串为避免重复操作,这里定位全局变量

static   string constr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
//需要引用Configuration

这里把链接对象也定义为全局变量

 static   SqlConnection conn = new SqlConnection(constr);

同时也是为了避免重复操作把打开和关闭链接对象定义为方法以便后面使用

 public static void Open()
        {
        //判断如果处于关闭状态则打开
            if(conn.State== System.Data.ConnectionState.Closed)
            {
                conn.Open();
            }
        }
        public static void Close()
        {
          //判断如果处于打开状态则关闭
            if(conn.State== System.Data.ConnectionState.Open)
            {
                conn.Close();
            }
        }

在这里插入图片描述
4.查询数据返回第一行第一列

public static object ExecuteScalar(string sql, params SqlParameter[] parm)
        {
            Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            if (parm.Length > 0)
            {
                foreach (SqlParameter item in parm)
                {
                    cmd.Parameters.Add(item);
                }
            }
            object rs = cmd.ExecuteScalar();
            Close();
            return rs;
        }

5.返回一个阅读器对象

public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parm)
        {
            Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            if (parm.Length > 0)
            {
                foreach (SqlParameter item in parm)
                {
                    cmd.Parameters.Add(item);
                }
            }
            SqlDataReader rs = cmd.ExecuteReader();           
            Close();
            return rs;
        }

6.进行增,删,改 ExecuteNonQuery() 是否成功 bool

       /// <summary>
        /// 用于增,删,改操作
        /// </summary>
        /// <param name="sql">操作的sql语句</param>
        /// <param name="parm">所用参数:SqlParameter类型</param>
        /// <returns></returns>
        public static  bool ExecuteNonQuery(string sql,params SqlParameter[] parm)
        {
            Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            if (parm.Length > 0)
            {
                foreach (SqlParameter item in parm)
                {
                    cmd.Parameters.Add(item);
                }
            }           
          int rs=  cmd.ExecuteNonQuery();
            Close();
            if (rs > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

7.用适配器返回一个datatable

       /// <summary>
        /// 返回一个查询的数据表
        /// </summary>
        /// <param name="sql">操作的sql语句</param>
        /// <param name="parm">所用参数:SqlParameter类型</param>
        /// <returns></returns>
        public static DataTable DataTable(string sql,params  SqlParameter[] parm)
        {
            SqlDataAdapter sda = new SqlDataAdapter(sql, constr);
            foreach (SqlParameter item in parm)
            {
                //向适配器中添加参数
                sda.SelectCommand.Parameters.Add(item);
            }
            DataSet ds = new DataSet();
            sda.Fill(ds);
            return ds.Tables[0];

        }

这样增删改查方法就封装好了下面是使用
如调用删除方法

 //删除  根据用户输入的课程编号来删除课程信息
        private void button2_Click(object sender, EventArgs e)
        {
            string cid = this.textBox1.Text;
            string sql = "delete from courseInfo where cid=@id";
            SqlParameter sp = new SqlParameter("@id", cid);
            bool result=  SQLHelper.ExecuteNonQuery(sql, sp);
            if (result)
            {
                MessageBox.Show("删除成功");
            }
            else
            {
                MessageBox.Show("删除失败");
            }
        }

其他方法同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值