C# 对数据库操作的帮助类SQLHelper.cs
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的更多相关文章
- java web工程 数据库操作报驱动类找不到的错误
这几天在进行数据库的操作,写好数据库操作类后,用测试类测试成功通过,但是部署到tomcat后,从页面访问就会报异常. 最后终于发现是tomcat使用了连接池的数据连接方式. 解决方法是把jdbc ja ...
- 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 ...
- C# 对Access数据库操作的通用类
(转载自博主Jerry很简单) //Access数据库-C# 操作类 代码using System;using System.Collections.Generic;using System.Linq ...
- C#操作sql通用类 SQLHelper
Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...
- c# SQL Server数据库操作-数据适配器类:SqlDataAdapter
SqlDataAdapter类主要在MSSQL与DataSet之间执行数据传输工具,本节将介绍如何使用SqlDataAdapter类来填充DataSet和MSSQL执行新增.修改..删除等操作. 功能 ...
- Java 数据库操作之Dao类
package Dao; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; imp ...
- SQL Server数据库连接类SQLHelper.cs
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...
- 一个自定义的C#数据库操作基础类 SqlHelper
SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便.更安全的对数据库的操作,既是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的 ...
- C#连接操作MySQL数据库详细步骤 帮助类等(二次改进版)
最近准备写一个仓库管理的项目 客户要求使用C#编写MySQL存储数据 为了方便,整理了数据库操作的工具类 首先在项目App.config 文件下添加节点 <connectionStrings&g ...
随机推荐
- Python使用xml.dom解析xml
在菜鸟教程上找了个关于电影信息的xml类型的文档,用python内置的xml.dom来解析提取一下信息. 先复习一下xml概念: XML 指可扩展标记语言(EXtensible Markup Lang ...
- C和C指针小记(五)-指针类型
1.指针常量(pointer constant) 一般是没有这个概念的,指针类型的常量理解起来可以看着指针类型的常量,常用 0xff123456 表示,我们一般不会这么做.因为程序员一般无法事先知道计 ...
- MVC 实用架构设计(〇)——总体设计
〇.目录 一.前言 二.结构图 三.结构说明 一.前言 一直以来都想写这个系列,但基于各种理由(主要是懒惰),迟迟没有动手.今天,趁着周末的空档,终于把系列的目录公布出来了,算是开个头,也给自己一个坚 ...
- GIS软件相关安装(持续更新)
软件安装是GIS专业的必修课,总会忘记步骤,在此汇总 1.oracle ①无法登录 管理员登录 sqlplus sys/密码 as sysdba https://www.linuxidc.com/li ...
- dispatch_barrier_async,加锁
dispatch_barrier_async用于文件读写,在写的时候,不允许进行读操作,在写操作完成才能进行读取操作,为了保证线程安全 加锁的方式: 1. barrier 2. NSLock 3. @ ...
- 关于ADC采集
对于ADC采集,想问的一些问题 1.如何初始化? 需要初始化 2.哪里可以看到是多少位采集? 3.8位ADC采集的误差是多少? 4.基准电压从哪里取?
- 内部排序->交换排序->快速排序
文字描述 快速排序是对起泡排序的一种改进.它的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个 ...
- python中dict的fromkeys用法
fromkeys是创造一个新的字典.就是事先造好一个空字典和一个列表,fromkeys会接收两个参数,第一个参数为从外部传入的可迭代对象,会将循环取出元素作为字典的key值,另外一个参数是字典的val ...
- 20165336 2017-2018-2 《Java程序设计》第2周学习总结
学号 2017-2018-2 20165336 <Java程序设计>第2周学习总结 教材学习内容总结 第二章 标识符第一个字符不能是数字 标识符不能是关键字 byte型变量的取值范围是-2 ...
- 【python基础】迭代器和生成器函数
1.迭代器协议: 1.迭代器协议是指:对象必须提供一个 __next__() 方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走不能往前退) ...