SqlHelper 拿来主义--逐步完善

public static class SqlHelper

{

//获取连接字符串

private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;

//ExecuteNonQuery()方法

//ExecuteScalar()方法

//ExecuteReader()方法

//ExecuteDataTable()方法

//执行增删改的

public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)

{

//使用using关键字定义一个范围,在范围结束时自动调用这个类实例的Dispose处理对象

using (SqlConnection con = new SqlConnection(constr))

{

//创建执行sql命令对象

using (SqlCommand cmd = new SqlCommand(sql, con))

{

//判断是否传递了sql参数

if (pms != null)

{

//将参数添加到Parameters集合中

cmd.Parameters.AddRange(pms);

}

con.Open();

return cmd.ExecuteNonQuery();

}

}

}

//执行返回单个值的

public static object ExecuteScalar(string sql, params SqlParameter[] pms)

{

using (SqlConnection con = new SqlConnection(constr))

{

using (SqlCommand cmd = new SqlCommand(sql, con))

{

if (pms != null)

{

cmd.Parameters.AddRange(pms);

}

con.Open();

return cmd.ExecuteScalar();

}

}

}

//执行返回SqlDataReader

public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)

{

SqlConnection con = new SqlConnection(constr);

using (SqlCommand cmd = new SqlCommand(sql, con))

{

if (pms != null)

{

cmd.Parameters.AddRange(pms);

}

try

{

con.Open();

return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

}

catch (Exception ex)

{

con.Close();

con.Dispose();

throw;

}

}

}

//执行返回DataTable

public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)

{

DataTable dt = new DataTable();

using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))

{

if (pms != null)

{

adapter.SelectCommand.Parameters.AddRange(pms);

}

adapter.Fill(dt);

}

return dt;

}

public static DataSet Query(string SQLString,params SqlParameter[] pms)

{

DataSet ds = new DataSet();

using (SqlDataAdapter adapter = new SqlDataAdapter(SQLString, constr))

{

if (pms != null)

{

adapter.SelectCommand.Parameters.AddRange(pms);

}

adapter.Fill(ds);

}

return ds;

}

}

时间: 2024-11-04 13:30:54

SqlHelper 拿来主义--逐步完善的相关文章

新闻发布系统,SQLHelper重构

在清楚把握牛腩新闻发布系统的需求,以及对系统的数据库也做好了相应的设计后,接下来的几天里就是对后台代码的编写. 在视频中,采用的是经典三层的框架,这对于已经经历过机房重构的我们来说,敲代码还是很容易上手的. 相信大家都不会忘记机房重构中我们的一个好助手,那就是SQLHelper. 在机房重构的时候,看了很多博客,大家都用上了,也都觉得好用,我也就直接借鉴而来.在自己一步一步调试的时候,在自己的程序出现Bug的时候,真的发现SQLHelper的好处多多.但自己也没有去认真研究过这样一个类究竟是怎么

Ado.NET SQLHelper(3)

  using System; using System.Data; using System.Data.SqlClient; using System.IO; namespace RaywindStudio.DAL { /// <summary> /// MSSQL数据库操作类 /// </summary> public static class SqlHelper { /// <summary> /// 是否写调试信息 /// 执行成功写到C:\\DebugSQL.

微软官方的SQLHelper类(含完整中文注释)(转)

数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 里面的函数一堆,常用的就那几个,无非就是增删改查嘛,来看下几种常用的函数: 1.ExecuteNonQuery 执行增删改2.ExecuteReader 执行查询3.ExecuteScalar 返回首行首列 使用方法介绍 Web.config配置 1 <connectionStrings> 2 <add name="ConnectionString" connectionStr

让win7变成无线路由(需要用管理员权限打开)最后完善.rar

让win7变成无线路由(需要用管理员权限打开)最后完善.bat @ECHO OFF CLS color 0a netsh wlan show drivers ECHO.★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ECHO.★以上是你的无线网卡信息,查看你的网卡是否支持承载网络★ ECHO.★ ★ ECHO.★ 持请更新一个通过微软认证的驱动! ★ ECHO.★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ECHO. ECHO. GOTO MENU :MENU ECHO.

【2016-11-2】【坚持学习】【Day17】【微软 推出的SQLHelper】

从网络上找到 微软原版本的SQLHelper,很多行代码.认真看了,学习了. 代码: 1 using System; 2 using System.Data; 3 using System.Xml; 4 using System.Data.SqlClient; 5 using System.Collections; 6 7 namespace Helper 8 { 9 /// <summary> 10 /// The SqlHelper class is intended to encapsu

浪潮存储:2015年发力高端 完善产品线布局

国内存储市场在过去多年都是国际品牌的天下,本土厂商一直处于市场竞争的弱势.近年来,随着本土品牌厂商在技术研发上的持续投入与积累,本土厂商开始崛起,逐渐在存储市场打开局面,正稳步成长为可以与国际品牌厂商叫板的一股力量.近日,浪潮存储对外宣布其2015年存储战略规划,直言2015年将会是浪潮存储改变的一年,结合以数据为核心,重点将会发力高端存储领域,并且会逐步完善存储产品线布局. 发力高端存储市场 一直以来,国内高端存储市场都是EMC.HDS以及IBM等国际厂商在唱主角,这些厂商凭借着多年的产品技术

对SqlHelper的理解

简介 Sqlhelper 是用来避免重复输入连接数据库代码的类,封装后只需要给类中的方法传入一些参数如数据库连接字符串,SQL参数等就可以访问数据库了.因为我们要声明该类不能被继承或实例化,所以我们要通过静态方法来封装数据访问功能.静态方法为类所有,可以通过对象来使用,也可以通过类来使用.但一般提倡通过类名来使用,应为静态方法只要定义了类,不必建立类的实例就可使用. 机制 上面说了SqlHelper的简介,接下来介绍它具体的运行机制.首先和普通连接数据库的步骤一样,要先定义Connection对

机房收费系统中sqlhelper的应用

在接受了三层的思想之后,sqlhelper被传的沸沸扬扬,它给我们的编码带来多少优势.让编码者少花了多少时间.多少精力,等等的赞美之词不绝于耳.自己也是将信将疑的,毕竟自己没有亲身经历,所以没有很大的体会.而如今,自己多次使用了sqlhelper,穿梭在各层之间确实也体会到了它带给我们的简便之处,结合很多人的版本自己编写了属于自己的那一版,以下便是具体代码: <span style="font-family:KaiTi_GB2312;font-size:18px;">Imp

c# socket通信较完善方案

c#的socket通信应用.文件较多.附件为工程.  core AbstractBytesWorker.cs    字节工作器(基类),用于用于同一不同功能的字节工作器 BinaryHand.cs  2进制处理器.  ThDispose.cs 处理回收相关 crc  entity ThPersonInfo.cs manager ThSocketManager.cs  ThSocketManagerBusiness.cs 所有的业务 request RequestCode.cs  请求码 ThPr