using System;

using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace RuPengWang.DAL
{
    public class SqlHelper
    {
        private static readonly string constr = ConfigurationManager.AppSettings["constr"];
 
       
        /// <summary>
        /// 数据表的增、删、改;
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="sql"></param>
        /// <param name="sp"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql, params SqlParameter[] sp)
        {
            using (SqlConnection con = new SqlConnection(SqlHelper.constr))
            {
                
                return SqlHelper.ExecuteNonQuery(con, sql, sp);
            }
 
        }
 
        public static int ExecuteNonQuery(SqlConnection conn, string sql, params SqlParameter[] ps)
        {
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                conn.Open();
                cmd.Parameters.AddRange(ps);
               return cmd.ExecuteNonQuery();
            }
        }
 
        /// <summary>
        /// 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
        /// 使用参数数组提供参数
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="sql"></param>
        /// <param name="ps"></param>
        /// <returns>返回一个object数据</returns>
        public static object ExecuteScale(SqlConnection conn,string sql, params SqlParameter[] ps)
        {
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                conn.Open();
                cmd.Parameters.AddRange(ps);
                return cmd.ExecuteScalar();
            }
         
        }
        /// <summary>
        /// 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
        /// 使用参数数组提供参数
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="ps">参数</param>
        /// <returns>返回一个object数据</returns>
        public static object ExecuteScale(string sql, params SqlParameter[] ps)
        {
            using (SqlConnection conn = new SqlConnection(SqlHelper.constr))
            {
                return SqlHelper.ExecuteScale(conn, sql, ps);
            }
        }
        /// <summary>
        /// 该方法用于读取数据
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="sp">sql参数</param>
        /// <returns>SqlDataReader类型</returns>
        public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] sp)
        {
            SqlConnection conn = new SqlConnection(constr);
           using(SqlCommand cmd=new SqlCommand(sql,conn))
           {
            cmd.Parameters.AddRange(sp);
               try{
 
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
               }
               catch(Exception ex){
 
               conn.Close();
               conn.Dispose();
               throw ex;
                
               }
            
           }
        }
 
        /// <summary>
        /// 读取数据返回的是datatable
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="ps"></param>
        /// <returns>DataTable</returns>
        public static DataTable ExecuteTable(string sql, params SqlParameter[] ps)
        {
            DataTable dt=new DataTable();
            using (SqlDataAdapter da = new SqlDataAdapter(sql, constr))
            {
                if (ps != null)
                {
                    da.SelectCommand.Parameters.AddRange(ps);
                }
                da.Fill(dt);
             
            }
            return dt;
        }
     
    }
}

C# 对数据库操作的帮助类SQLHelper.cs的更多相关文章

  1. java web工程 数据库操作报驱动类找不到的错误

    这几天在进行数据库的操作,写好数据库操作类后,用测试类测试成功通过,但是部署到tomcat后,从页面访问就会报异常. 最后终于发现是tomcat使用了连接池的数据连接方式. 解决方法是把jdbc ja ...

  2. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  3. C# 对Access数据库操作的通用类

    (转载自博主Jerry很简单) //Access数据库-C# 操作类 代码using System;using System.Collections.Generic;using System.Linq ...

  4. C#操作sql通用类 SQLHelper

    Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...

  5. c# SQL Server数据库操作-数据适配器类:SqlDataAdapter

    SqlDataAdapter类主要在MSSQL与DataSet之间执行数据传输工具,本节将介绍如何使用SqlDataAdapter类来填充DataSet和MSSQL执行新增.修改..删除等操作. 功能 ...

  6. Java 数据库操作之Dao类

    package Dao; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; imp ...

  7. SQL Server数据库连接类SQLHelper.cs

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  8. 一个自定义的C#数据库操作基础类 SqlHelper

    SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便.更安全的对数据库的操作,既是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的 ...

  9. C#连接操作MySQL数据库详细步骤 帮助类等(二次改进版)

    最近准备写一个仓库管理的项目 客户要求使用C#编写MySQL存储数据 为了方便,整理了数据库操作的工具类 首先在项目App.config 文件下添加节点 <connectionStrings&g ...

随机推荐

  1. 在windows下用nvm 安装node

    nvm 可以帮助切换node版本 在此文中,会特意指明一些坑,防止再次踩坑.第一个坑就是,如果你已经单独安装了node,建议先卸载,再来看本文. 1. nvm 下载 nvm 的下载地址:https:/ ...

  2. ionic使用cordova插件中的Screenshot截图分享功能

    需要实现操作,考试完成后需要将成绩生成一张图片,分享出去, import { Screenshot } from '@ionic-native/screenshot'; constructor(pri ...

  3. EF-CodeFirst-基础

    什么是Code-First Code-First主要用于领域驱动设计.在Code-First方法中,专注于应用程序的域,先开始为域实体创建类,而不是先设计数据库,然后创建与数据库设计相匹配的类.下图说 ...

  4. Linux and Oracle常用目录详解

    目录详解 目录 内容 / 根目录,一切从这里开始 /bin 包含系统启动和运行所必需的二进制文件(程序) /boot 包含Linux内核.最初的RAM磁盘映像(系统启动时,驱动程序会用到),以及启动加 ...

  5. python摸爬滚打之day11----函数闭包,迭代器

    1.函数名 函数名就是一个变量名, 函数名存储的是该函数的内存地址.    函数名都可以进行哪些应用? 函数名可以赋值给其他的变量; 函数名可以作容器里的元素使用; 函数名可以当做形参传进另一函数; ...

  6. zabbix server源码安装

    一.准备工作 yum -y install net-snmp-devel php-bcmath php-ctype php-xml php-xmlreader php-xmlwriter php-se ...

  7. mysql 数据库操作 数据库的增删改查

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

  8. 计算机网络 0.初识Internet与TCP/IP协议

    互联网,即因特网,Internet.互联网是一个世界范围的计算机网络.连接了世界上无数的计算设备,这些计算设备为PC.基于Linux的工作站,serverservers等等. 这些设备依据其作用不同可 ...

  9. OC动画:CAKeyframeAnimation

    // 方法一 用法1​ Value方式 //创建动画对象 CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyP ...

  10. Socket接口

    Socket接口 Socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Sock ...