SqlDataHelper
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Data.SqlClient;
/// <summary>
///SqlHelper 的摘要说明
/// </summary>
public class SqlDataHelper
{
public SqlDataHelper()
{
}
//数据库连接字符串
private readonly static string connectionString = ConfigurationManager.ConnectionStrings["default"].ToString();
/// <summary>
/// 执行增,删,改的方法,支持存储过程
/// </summary>
/// <param name="connectionString">连接字符串,自满足,请用SqlHelper.connString赋值</param>
/// <param name="commandType">命令类型,如果是sql语句,则为CommandType.Text,否则为CommandType.StoredProcdure</param>
/// <param name="cmdText">SQL语句或者存储过程名称</param>
/// <param name="para">SQL参数,如果没有参数,则为null</param>
/// <returns>受影响的行数</returns>
public static int ExecuteNonQuery(CommandType commandType, string cmdText, SqlParameter[] para)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = commandType;
cmd.CommandText = cmdText;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
conn.Open();
int no = Convert.ToInt32(cmd.ExecuteNonQuery());
cmd.Parameters.Clear();
return no;
}
}
/// <summary>
/// 执行查询的方法,支持存储过程
/// </summary>
/// <param name="connectionString">连接字符串,自满足,请用SqlHelper.connString赋值</param>
/// <param name="commandType">命令类型,如果是sql语句,则为CommandType.Text,否则为CommandType.StoredProcdure</param>
/// <param name="cmdText">SQL语句或者存储过程名称</param>
/// <param name="para">SQL参数,如果没有参数,则为null</param>
/// <returns>读取器SqlDataReader</returns>
public static SqlDataReader ExecuteReader(CommandType commandType, string cmdText, SqlParameter[] para)
{
SqlConnection conn = new SqlConnection(connectionString);
SqlDataReader dr = null;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = commandType;
cmd.CommandText = cmdText;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
conn.Open();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return dr;
}
/// <summary>
/// 执行查询的方法,支持存储过程
/// </summary>
/// <param name="connectionString">连接字符串,自满足,请用SqlHelper.connString赋值</param>
/// <param name="commandType">命令类型,如果是sql语句,则为CommandType.Text,否则为CommandType.StoredProcdure</param>
/// <param name="cmdText">SQL语句或者存储过程名称</param>
/// <param name="para">SQL参数,如果没有参数,则为null</param>
/// <returns>数据集</returns>
public static DataSet GetDataSet(CommandType commandType, string cmdText, SqlParameter[] para)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText = cmdText;
da.SelectCommand.CommandType = commandType;
if (para != null)
{
da.SelectCommand.Parameters.AddRange(para);
}
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds);
da.SelectCommand.Parameters.Clear();
return ds;
}
}
/// <summary>
/// 执行查询的方法,支持存储过程
/// <summary>
/// 执行查询的方法,支持存储过程
/// </summary>
/// <param name="connectionString">连接字符串,自满足,请用SqlHelper.connString赋值</param>
/// <param name="commandType">命令类型,如果是sql语句,则为CommandType.Text,否则为CommandType.StoredProcdure</param>
/// <param name="cmdText">SQL语句或者存储过程名称</param>
/// <param name="para">SQL参数,如果没有参数,则为null</param>
/// <returns>返回查询结果的第一行第一列</returns>
public static object GetScalar(CommandType commandType, string cmdText, SqlParameter[] para)
{
object result = null;
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = commandType;
cmd.CommandText = cmdText;
if (para != null)
{
cmd.Parameters.AddRange(para);
}
conn.Open();
result = cmd.ExecuteScalar();
cmd.Parameters.Clear();
}
return result;
}
}
SqlDataHelper的更多相关文章
- Android LitePal 神一般的数据库框架 超级好用
参考: Android数据库高手秘籍(一)--SQLite命令 Android数据库高手秘籍(二)--创建表和LitePal的基本用法 Android数据库高手秘籍(三)--使用LitePal升级表 ...
- 项目中的web api知识总结
最近在做公司的项目,自己负责webapi的框架的搭建与开发,最近很忙,一直没时间对工作中遇到的知识点缺少个总结,现总结一下,对自己是个提升,如果个人的小点点小总结能对博友有帮助那也是善莫大焉. (1) ...
- EF6 中tracking log使用方法总结
先上一段最近项目中的代码,此代码可以放到自己项目中的dbContext中 public override Task<int> SaveChangesAsync() { List<Au ...
- 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...
- easyui-tree绑定数据的几种方式
没想到easyui对json数据格式要求的那么严谨,折腾了半天 第一种直接使用标签方式,很容易就加载出来了: <ul class="easyui-tree"> < ...
- easyui-combobox绑定json数据
用的C#语言 后台取数据,就不用废话了,先看看序列化json数据 /// <summary> /// 对象转JSON /// </summary> /// <param ...
- 读取Excel二进制写入DB,并从DB中读取生成Excel文件
namespace SendMailSMSService { class Program { static void Main(string[] args) { var connString = Sq ...
- EF利用重写SaveChanges()方法实现 审计日志记录
先上一段最近项目中的代码,此代码可以放到自己项目中的dbContext中 public override Task<int> SaveChangesAsync() { List<Au ...
- 搭建自己的框架WedeNet(二)
WedeNet2018.Infrastructure-基础设施层:结构如下: Tools结构如下: 考虑到系统可能会有多个数据上下文(暂时以两个为例),所以根据需要定义两个T4模板用来生成对应的ent ...
随机推荐
- C# 获取物理网卡Mac地址
// <summary> /// 获取网卡物理地址 /// </summary> /// <returns></returns> public stat ...
- Spark 编程模型(中)
先在IDEA新建一个maven项目 我这里用的是jdk1.8,选择相应的骨架 这里选择本地在window下安装的maven 新的项目创建成功 我的开始pom.xml文件配置 <project x ...
- linux-centos6/7初始配置
关闭防火墙 chkconfig iptables off centos7下的命令为 systemctl stop firewalld.service #停止Firewall systemctl dis ...
- 位运算骚操作 Part 1
▶ 原文标题<Bit Twiddling Hacks>,地址:https://graphics.stanford.edu/~seander/bithacks.html ▶ 额外参考资料:h ...
- CUDA入门
CUDA入门 鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to ...
- nodejs发送http请求
var request = require('request'); var options = { method: 'post', url: u, form: content, headers: { ...
- onMouseDown和onPress的差异AS2
為了要做出比Button物件更複雜的互動,我們通常會改用MovieClip來製作按鈕.如此一來,就需要處理event handler.與滑鼠有關的MovieClip event handler包括on ...
- JS 判断鼠标滚轮的上下滚动
JS 判断鼠标滚轮的上下滚动 <script type="text/javascript"> var scrollFunc = function (e) { e = ...
- HTTP状态码 解析
原文地址:HTTP状态码:400500错误代码(个人总结)作者:lining2008net 一些常见的状态码为: 200-服务器成功返回网页 404-请求的网页不存在 503-服务不可用 详细分解: ...
- springMVC学习记录3-拦截器和文件上传
拦截器和文件上传算是springmvc中比较高级一点的内容了吧,让我们一起看一下. 下面先说说拦截器.拦截器和过滤器有点像,都可以在请求被处理之前和请求被处理之到做一些额外的操作. 1. 实现Hand ...