asp.net用储存过程名为参数的DBHelper类(增删改查)

本文详细介绍了如何使用C#创建并操作SQL数据库连接,包括获取数据库连接、执行SQL查询和存储过程、获取数据集、单条记录和标量值等关键操作。

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

 

using System;
using System.Collections.Generic;
using System.Text;
using MyHRAdmin.Model;
using System.Data;
using System.Data.SqlClient;
namespace MyHRAdmin.DAL
{
  public  class DBHelper
    {
        private static SqlConnection connection;

        public static SqlConnection Connection
        {

            get
            {
                string con = "Data Source=.;Initial Catalog=HRAdmin;Integrated Security=True";
                if (connection == null)
                {
                    connection = new SqlConnection(con);
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Closed)
                {
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Broken)
                {
                    connection.Close();
                    connection.Open();
                }
                return connection;
            }
        }
        //通过sql,存储参数获取reader,判断是否存在(登录)
      /// <summary>
      /// 重要的
      /// </summary>
      /// <param name="sqName"></param>
      /// <param name="value"></param>
      /// <returns></returns>
      public static SqlDataReader GetReader(string sqName,params SqlParameter[] value)
      {
          SqlCommand com = new SqlCommand(sqName,Connection);
          com.Parameters.AddRange(value);
          com.CommandText = sqName;
          com.CommandType = CommandType.StoredProcedure;
          SqlDataReader reader = com.ExecuteReader();
          return reader;
      }
     
      //通过sql,存储参数获取表格(查询)
      public static DataTable GetTable(string sqName,params SqlParameter []value)
      {
          SqlCommand com = new SqlCommand(sqName, Connection);
          DataSet ds = new DataSet();
          com.CommandText = sqName;
          com.CommandType = CommandType.StoredProcedure;
          com.Parameters.AddRange(value);
          SqlDataAdapter da = new SqlDataAdapter(com);
          da.Fill(ds);
          return ds.Tables[0];
      }
      public static DataTable GetTable(string sqName)
      {
          SqlCommand com = new SqlCommand(sqName, Connection);
          DataSet ds = new DataSet();
          com.CommandText = sqName;
          com.CommandType = CommandType.StoredProcedure;
          //com.Parameters.AddRange(value);
          SqlDataAdapter da = new SqlDataAdapter(com);
          da.Fill(ds);
          return ds.Tables[0];
      }
      //通过sql,存储参数获取第一行第一列()
      public static int GetScalar(string sqName, params SqlParameter[] value)
      {
          SqlCommand com = new SqlCommand(sqName, Connection);
          com.CommandText = sqName;
          com.Parameters.AddRange(value);
          com.CommandType = CommandType.StoredProcedure;
          int result = Convert.ToInt32(com.ExecuteScalar());
          return result;
 
      }
      public static int GetScalar(string sqName,bool Bvalue, params SqlParameter[] value)
      {
          int result=0;
          if (Bvalue)
          {
              SqlCommand com = new SqlCommand(sqName, Connection);
              com.CommandText = sqName;
              com.Parameters.AddRange(value);
              com.CommandType = CommandType.StoredProcedure;
              SqlParameter par = com.Parameters.Add("@IDENTITY", SqlDbType.Int);
              par.Direction = ParameterDirection.ReturnValue;
              com.ExecuteNonQuery();
              result = Convert.ToInt32(par.Value);
             
          }
      return result;
      }
      //通过sql,存储参数获取受影响的行数(增)
      public static int GetTheChange(string sqName, params SqlParameter[] value)
      {
          SqlCommand com = new SqlCommand(sqName, Connection);
          com.CommandText = sqName;
          com.Parameters.AddRange(value);
          com.CommandType = CommandType.StoredProcedure;
          int result = com.ExecuteNonQuery();
          return result;
      }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值