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 ...
随机推荐
- MySQL获取分组后的TOP 1和TOP N记录-转
有时会碰到一些需求,查询分组后的最大值,最小值所在的整行记录或者分组后的top n行的记录,在一些别的数据库可能有窗口函数可以方面的查出来,但是MySQL没有这些函数,没有直接的方法可以查出来,可通过 ...
- angular 使用dialog的经验
利用angular在近期的工作中使用了dialog的方式,总结下经验 由于dialog显示的内容不同,需要用到angular 的ng-include加载不同的文件1 dialog利用指令的方式 app ...
- piano class 12
1,不要记谱子,眼睛要一直看着谱子,手指凭感觉找琴键 2,弹的时候一定要按照谱子上标出来的指法弹奏,很重要 3,两只手要会跷跷板弹奏 4,八分音符,一般第二个会比第一个弱一点,但是要看自己感觉 5,慢 ...
- 2017年蓝桥杯省赛A组c++第1题(走迷宫)
/* 标题:迷宫 X星球的一处迷宫游乐场建在某个小山坡上. 它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母. 我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间, ...
- [hardware][intel] intel全系列网卡调研
除了公司用,我自己还要买一块家用. 但是在这一切开始之前,还需要搞清楚PCIE到底咋回事. 一, 总线 https://zh.wikipedia.org/wiki/%E6%80%BB%E7%BA%BF ...
- UTF8 、unicode 和 Ascii2
1.http://blog.renren.com/share/68464/3096404244
- python循环字符转换
pyhon函数传参的时候穿的是引用,而不是实际值,这样可以节省内存 变量名要求:最好是以字母下划线作为变量名,不能和py关键字重复 import getpass提供了平台无关的在命令行下输入密码的方法 ...
- LeetCode 852 Peak Index in a Mountain Array 解题报告
题目要求 Let's call an array A a mountain if the following properties hold: A.length >= 3 There exist ...
- 洛谷P3245 大数 [HNOI2016] 莫队
正解:莫队 解题报告: 传送门 这题首先要发现一个结论,是这样儿的: 若p不是10的约数(即2和5) 时,当第i位到第n位组成的数%p==第j位到第n位组成的数%p,那么第i位到第j位上的数组成的数% ...
- 使用natapp将本地服务映射到外网
1.进入https://natapp.cn注册并登陆,然后下载客户端 2. 3. 4.打开客户端开启映射