SQLHelper---赵晓虎(简洁,全面)
public static class SQLHelper
{
//获取连接字符串,,首先添加对configuration的引用
private static string connStr = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;
//ExecuteNonQuery方法----非查询的方法
public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters)
{
//1、创建连接对象
using (SqlConnection conn=new SqlConnection(connStr))
{
//2、创建执行对象
using (SqlCommand cmd=new SqlCommand(sql,conn))
{
//3、判断添加占位符集合
if (parameters!=null)
{
cmd.Parameters.AddRange(parameters);
}
//4、执行操作前一步 打开连接
conn.Open();
//5、执行相应的操作
return cmd.ExecuteNonQuery();
}
}
}
//ExecuteScalar方法-----返回查询结果的第一行第一列
public static object ExecuteScalar(string sql,params SqlParameter[] parameters)
{
//1、创建连接对象
using(SqlConnection conn=new SqlConnection(connStr))
{
//2、创建执行对象
using(SqlCommand cmd=new SqlCommand(sql,conn))
{
//3、判断并添加占位符集合
if(parameters!=null)
{
cmd.Parameters.AddRange(parameters);
}
//4、执行语句前一部打开链接
conn.Open();
//5、执行相应操作
return cmd.ExecuteScalar();
}
}
}
//返回DataTable的方法
public static DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters)
{
DataTable table=new DataTable();
//直接交给sqldataadapter执行
using (SqlDataAdapter adapter=new SqlDataAdapter(sql,connStr))
{
//判断并添加占位符集合(利用存储过程),,返回结果
if(parameters!=null)
{
adapter.SelectCommand.Parameters.AddRange(parameters);
}
//将结果填充到table
adapter.Fill(table);
}
return table;
}
public static SqlDataReader ExecuteReader(string sql,params SqlParameter[] parameters)
{
//因为每次都执行返回一行,不用using,,,创建连接
SqlConnection conn=new SqlConnection(connStr);
//创建执行对象
using(SqlCommand cmd=new SqlCommand(sql,conn))
{
if(parameters!=null)
{
cmd.Parameters.AddRange(parameters);
}
try
{
//判断连接对象是否是连接状态,不是就打开
if(conn.State==ConnectionState.Closed)
{
conn.Open();
}
//在连接打开的前提下执行读取命令,,随着conn的关闭而关闭
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
//没有可读数据的时候关闭连接变释放资源
catch
{
conn.Close();
conn.Dispose();
throw;
}
}
}
}
SQLHelper---赵晓虎(简洁,全面)的更多相关文章
- asp.net 建多个项目实现三层的实例——读取一张表中的记录条数
学习asp.net两周,通过学习发现,.net和php之间的区别还是蛮大的,比php要复杂一些,开始学习的有些吃力,后来跟着传智播客里的老师学习,渐渐的学到了一些东西. 今天要记录一下.net里的简单 ...
- JavaScript函数的4种调用方法详解
在JavaScript中,函数是一等公民,函数在JavaScript中是一个数据类型,而非像C#或其他描述性语言那样仅仅作为一个模块来使用.函数有四种调用模式,分别是:函数调用形式.方法调用形式.构造 ...
- QL Server 实用脚本
use MyFirstDB; -- 主要内容 -- SQL Server 实用脚本 -- 1.case语句 -- 2.子查询 -- 3.连接查询 -- 4.脚本变量与流程控制(选择与循环等) -- 5 ...
- Delegate(委托与事件)
Delegate可以当它是一个占位符,比如你在写代码的时候并不知道你将要处理的是什么.你只需要知道你将要引入的参数类型和输出类型是什么并定义它即可.这就是书本上所传达的方法签名必须相同的意思. 系统自 ...
- XML文件注意问题
一.Elements和Descendant Elements 相当于root节点下的子节点,Desendant元素相当于root节点下的所有子节点(包括root.elments下个子节点也包括root ...
- JavaScript高级之函数的四种调用形式
主要内容 分析函数的四种调用形式 弄清楚函数中this的意义 明确构造函对象的过程 学会使用上下文调用函数 了解函数的调用过程有助于深入学习与分析JavaScript代码. 本文是JavaScript ...
- 你不知道的JavaScript--Item8 函数,方法,构造函数调用
1.函数调用 Function绝对是JavaScript中的重中之重.在JavaScript中,Function承担了procedures, methods, constructors甚至是class ...
- qconbeijing2017
http://2017.qconbeijing.com/schedule 第一天 (2017年4月16日/星期日) 签到 专题 主题演讲 快速进化的容器生态 微服务与 DevOps 最佳实践(厂商 ...
- python基础学习(一)
一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...
随机推荐
- 3D俄罗斯方块设计
发布在博客:http://blog.sina.com.cn/s/blog_d38e811c0101cpis.html
- NOIP2008普及组 题解 -SilverN
T1 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符, 其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符( ...
- 【ASP.NET 进阶】定时执行任务
原理:利用全局应用程序类 Global.asax 和 System.Timers.Timer 类定时处理任务. 示例效果图: 其 Global.asax 类代码如下: using System; u ...
- -bash: wget: command not found的两种解决方法
今天给服务器安装新环境时,wget 时提示 -bash:wget command not found,很明显没有安装wget软件包.一般linux最小化安装时,wget不会默认被安装,这里是CentO ...
- 关于软件测试人员能力模型的建立(from知乎)
转自: http://www.zhihu.com/question/20254092 测试思维方面:1.测试基础理论(测试流程.测试的基础知识)2.测试用例设计方法论(黑盒.白盒)3.软件质量体系(建 ...
- 课题:如何培养自己的SEO资源
课题:如何培养自己的SEO资源 问:做SEO最重要的是什么?[针对性的流量]答:看获取一样东西的门槛.稀缺性,人人可得价值不大外链 内容 流量[正确]针对性的自然流量是用户自愿带来的,价值高,能形成购 ...
- ILMerge 简单应用
ILMerge是合并.net的assembly的工具,最新版的支持.net 4.0的ILmerge下载: http://www.microsoft.com/downloads/details.aspx ...
- Spring Batch实践
Spring Batch在大型企业中的最佳实践 在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后 ...
- yield(C# 参考)
yield(C# 参考) 在语句中使用 yield 关键字,表示在该关键字所在的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumer ...
- jQuery调用WCF服务传递JSON对象
下面这个示例使用了WCF去创建一个服务端口从而能够被ASP.Net页面通过jQuery的AJAX方法访问,我们将在客户端使用Ajax技术来 与WCF服务进行通信.这里我们仅使用jQuery去连接Web ...