ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SqlHelper 工具类

2022-01-01 18:03:27  阅读:184  来源: 互联网

标签:SqlHelper param sql new 工具 com string con


SqlHelper 是一个自定义的工具类 将对数据库的操作封装起来 方便进行调用;

  • 创建类库

    • 右键解决方案-新建项目-选择 类库(.NET Framework) - 命名 Common
    • 删除 初始化类,新建类 - 命名 SqlHelper
  • 引用该类库

    • 右键引用-添加引用-项目
  • 获取数据库连接

    • string sqlcon = "Data Source=.;Initial Catalog=MyCar;User ID=sa;Password=1234";
      
  • 查询封装

  • 返回受影响行数封装(增删改)

    • SqlHelper类

    • public   class SqlHelper
          {
      
              //获取数据库连接
              static string  sqlStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
      
              /// <summary>
              /// 获取数据集
              /// </summary>
              /// <param name="sql">要执行的Sql语句</param>
              /// <param name="param">Sql语句中的参数</param>
              /// <returns>结果集表</returns>
              public static DataTable ExecuteDataTable(string sql,params 
                  SqlParameter [] param)
              {
                  DataTable table = new DataTable();
      
                  using (SqlConnection con =new SqlConnection(sqlStr))
                  {
                      SqlDataAdapter adapter = new SqlDataAdapter(sql,con);
                      
                      // 不为空 就添加参数
                      if(param.Length != 0)
                      {
                          adapter.SelectCommand.Parameters.AddRange(param);
                      }
      
                      adapter.Fill(table);
                  }
                      return table;
      
              }
      
              
              /// <summary>
              /// 返回受影响行数
              /// </summary>
              /// <param name="sql"></param>
              /// <param name="param"></param>
              /// <returns></returns>
              public static  int ExecuteNonquery(string sql, params
                  SqlParameter[] param)
              {
                  int i = -1;
      
                  using (SqlConnection con = new SqlConnection(sqlStr))
                  {
                      con.Open();
                      SqlCommand com = new SqlCommand(sql,con);
                      com.Parameters.AddRange(param);
                     
                      i =  com.ExecuteNonQuery();
                  }
      
                      return   i;
              }
              
              
              /// <summary>
              /// 返回首行首列
              /// </summary>
              /// <param name="sql">sql语句</param>
              /// <param name="param">sql中的参数</param>
              /// <returns></returns>
              public static object ExecuteScalar(string sql,params
                  SqlParameter[] param)
              {
                  using (SqlConnection con = new SqlConnection(sqlStr))
                  {
                      con.Open();
                      SqlCommand com = new SqlCommand(sql,con);
      
                      if(param.Length != 0)
                      {
                          com.Parameters.AddRange(param);
                      }
      
                    return   com.ExecuteScalar();
                  }
              }
          
         		/// <summary>
              /// 流方式返回数据
              /// </summary>
              /// <param name="sql"></param>
              /// <param name="param"></param>
              /// <returns></returns>
              public static SqlDataReader ExecuteReader(string sql,params
                  SqlParameter[] param)
              {
                  SqlDataReader reader;
                  SqlConnection con = new SqlConnection(sqlStr);
      
                  using (SqlCommand com = new SqlCommand(sql, con))
                  {
                      com.Parameters.AddRange(param);
                      con.Open();
      
                      //CommandBehavior.CloseConnection 
                      //如果关闭SqlDataReader,SqlConnection也随之关闭
                      reader = com.ExecuteReader(CommandBehavior.CloseConnection);
                  }
      
                      return reader;
              }
      
      
          }
      
    • 表现类

    • /// <summary>
      /// 通过id删用户
      /// </summary>
      /// <param name="id"></param>
      /// <returns></returns>
      public int deleteUserById(int id)
      {
          string sql = "delete from Student where sid = @id";
      
          SqlParameter p = new SqlParameter("@id",id);
      
          return SqlHelper.ExecuteNonquery(sql,p);
      }
      
      //初始化数据 
      public DataTable initDataTable()
      {
          label1.Text = "总人数:"+initDataTableCount();
          string sql = " select * from  Student";
          return SqlHelper.ExecuteDataTable(sql);
      
      }
      
      //显示总人数
      public  string initDataTableCount()
      {
          string sql = "select COUNT(*) from  Student";
          return SqlHelper.ExecuteScalar(sql).ToString();
      }
      
      
      //流方式显示结果集
      private void button1_Click_1(object sender, EventArgs e)
      {
          string sql = "select * from  Student";
      
          SqlDataReader reader =  SqlHelper.ExecuteReader(sql);
          while (reader.Read())
          {
              Console.WriteLine(reader["sName"].ToString());
          }
          reader.Close();
      }
      

标签:SqlHelper,param,sql,new,工具,com,string,con
来源: https://www.cnblogs.com/pinkguy/p/15755750.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有