C#操作数据库桥梁--SqlHelper.cs

  1. 引用
    一般在创建类的时候会自动生成几个引用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
  1. 创建数据库连接字段
    也可以不创建,之后的方法用到的时候,直接从将字段填写在需要的位置即可。这里我用到的是通过在Web.config里配置的连接字段后,在此处进行引用。
    Web.config配置字段和创建连接字段:
    这里配置的字段是自动生成的,可以参考文章:https://blog.csdn.net/KKBoy11/article/details/106874972
<connectionStrings>//这一步在Web.confug里
        <add name="DigitalProductShopConnectionString" connectionString="Data Source=.;Initial Catalog=DigitalProductShop;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
//这一步在当前类里
private static string strCon = ConfigurationManager.ConnectionStrings["DigitalProductShopConnectionString"].ConnectionString;

3.创建两个方法,一个是Query(查询方法),一个是NonQuery(增删改查方法)
这两个方法里的创建对象用到的using(){}则是为了回收对象,合理释放资源

//查询方法,参数设置为string类型的字符串,用于传入要执行的查询Sql语句,而返回类型为DataTable则是用于返回查询到的表格
 public static DataTable Query(string sql)
        {
        	//创建数据库查询对象,参数为查询语句和连接字段
            using (SqlDataAdapter sda = new SqlDataAdapter(sql, strCon))
            {
            	//创建一张空表用于承接数据
                using (DataTable dt = new DataTable())
                {
                	//将数据填充到空表dt中
                    sda.Fill(dt);
                    //返回数据
                    return dt;
                }
            }
        }
//查询方法,参数设置为string类型的字符串,用于传入要执行的增/删/改的Sql语句,而返回类型为int则是用于返回数据表中执行操作后受影响的行数
public static int NonQuery(string sql)
        {
        	//先定义一个整数,初始值为0,可以理解为受影响行数为0
            int num = 0;
            //创建数据库连接对象,参数为数据库连接字段
            using (SqlConnection conn = new SqlConnection(strCon))
            {
            	//打开连接对象
                conn.Open();
                //这里用到tryf语句,是为了不论数据库操作是否成功,都可以在最后关闭数据库连接对象
                try
                {
                	//创建数据库操作对象,参数为增/删/改语句和数据库连接对象
                    using (SqlCommand comm = new SqlCommand(sql, conn))
                    {
                    	//这里执行数据库操作语句,该方法会返回一数据表受影响的行数--int类型的值
                        num = comm.ExecuteNonQuery();
                    }
                }
                finally
                {
                	//判断数据库连接对象的状态是否为打开状态
                    if (conn.State == ConnectionState.Open)
                    {
                    	//如果打开,则将其关闭
                        conn.Close();
                    }
                }

            }
			//最后返回受影响的行数。
            return num;
        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值