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年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...
随机推荐
- HDU 2955 Robberies --01背包变形
这题有些巧妙,看了别人的题解才知道做的. 因为按常规思路的话,背包容量为浮点数,,不好存储,且不能直接相加,所以换一种思路,将背包容量与价值互换,即令各银行总值为背包容量,逃跑概率(1-P)为价值,即 ...
- Sprite Editor 图集切片精灵
切图需求 假设有一张大的UI的图集,我们想把它里面的小图一张一张地切割出来,如果有plist文件,请查阅我的另一篇文章<还原TexturePacker plist 文件 切开各小图片> 今 ...
- 如何查看windows xp系统的位数?
1.右击“我的电脑”->属性,可以看到.2.运行dxdiag,在操作系统一行可以看到.3.运行cmd,输入systeminfo,在系统类型一栏可以看到.--简单4.使用一些检测软件也可以看,像鲁 ...
- lcx转发 【解决内网没法链接3389 的问题】
要求我自己在外网 然后监听1111端口,将1111端口数据流量转发至2222端口 被入侵主机上 将本地的2222端[愿3389 主机修改了远程连接的端口]口流量转发至外网ip的1111端口 2222为 ...
- HTML5 web workes实现多线程
对多线程来说尽量使用HTML5的WEB WORKER特性 HTML5中的Web Worker是使用多个线程并发执行Javascript程序.另外,这种特别的多线程实现能减少困惑开发者多年的,在其他平台 ...
- mysqli事务处理demo
<?php $mysqli=new mysqli("localhost", "root", "123456", "xsph ...
- Spring2.5与JDK8的集成问题
Spring2.5不支持JDK8及其以上的版本,因为有一段校验JDK版本的代码,当JDK版本大于1.7之后,会识别成JDK1.4之前的.会报版本太低的错误. /* * Copyright 2002-2 ...
- Node.js之事件events
Events a.EventEmitter支持多个事件监听,最大为10,也可以自定义最大数 //添加监听var EventEmitter = require('events').EventEmitte ...
- tftp从linux下载文件
1,背景: 当我们ssh到一台linux上时候,从linux上下载一些文件,方案如下: 1.1通过sftp:通过win7 ftp客户端连接到linux去下载文件. 1.2通过tftp 2,问题 有些l ...
- C语言 字符串操作两头堵模型
//字符串操作两头堵模型练习 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #inc ...