private static string connString=ConfigurationManager.ConnStrings["connString"].ToString(); //在app.config中configuration添加相应的数据库连接配置文件

1.格式化sql语句

//执行增删改查

public static int Update(string sql)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    return cmd.ExecuteNonQuery();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//单一结果查询

public static object GetSingleResult(string sql)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    return cmd.ExecuteScalar();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//只读结果集查询

public static SqlDataReader GetReader(string sql)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    return cmd.ExecuteReader(CommandBehavior.CloseConnection);

  }

  catch(Exception ex)

  {

    conn.Close();

    throw ex;

  }

}

//DataSet数据集查询

public static DataSet GetDataSet(string sql)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  DataSet ds=new DataSet();

  SqlDataAdapter da=new SqlDataAdapter();

  try

  {

    conn.Open();

    da.Fill(ds);

    return ds;

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

2.带参数的sql语句

//执行增删改查

public static int Update(string sql,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    cmd.Parameters.AddRange(param);

    return cmd.ExecuteNonQuery();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//查询单一结果

public static object GetSingleResult(string sql,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    cmd.Parameters.AddRange(param);

    retrurn cmd.ExecuteScalar();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//查询只读结果集

public static SqlDataReader GetReader(string sql,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand(sql,conn);

  try

  {

    conn.Open();

    cmd.Parameters.AddRange(param);

    return cmd.ExecuteReader(CommandBehavior.CloseConnection);

  }

  catch(Exception ex)

  {

    conn.Close();

    throw ex;

  }

}

3.带参数的存储过程

//执行增删改查

public static int UpdateByProcedure(string procedureName,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand();

  cmd.Connection=conn;

  try

  {

    conn.Open();

    cmd.CommandType=CommandType.StoredProcedure;

    cmd.CommandText=procedureName;

    cmd.Parameters.AddRange(param);

    return cmd.ExecuteNonQuery();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//查询单一结果

public static object GetSingleResultByProcedure(string procedureName,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand();

  cmd.Connection=conn;

  try

  {

    conn.Open();

    cmd.CommandType=CommandType.StoredProcedure;

    cmd.CommandText=procedureName;

    cmd.Parameters.AddRange(param);

    retrurn cmd.ExecuteScalar();

  }

  catch(Exception ex)

  {

    throw ex;

  }

  finally

  {

    conn.Close();

  }

}

//查询只读结果集

public static SqlDataReader GetReaderByProcedure(string procedureName,SqlParameter[] param)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand();

  cmd.Connection=conn;

  try

  {

    conn.Open();

    cmd.CommandType=CommandType.StoredProcedure;

    cmd.CommandText=procedureName;

    cmd.Parameters.AddRange(param);

    return cmd.ExecuteReader(CommandBehavior.CloseConnection);

  }

  catch(Exception ex)

  {

    conn.Close();

    throw ex;

  }

}

4.使用事务更新

public static bool UpdateByTracsaction(List<string> sqlList)

{

  SqlConnection conn=new SqlConnection(connString);

  SqlCommand cmd=new SqlCommand();

  cmd.Connection=conn;

  try

  {

    conn.Open();

    cmd.Transaction=conn.BeginTransaction();//开启事务

    foreach(string sql in sqlList)

    {

      cmd.CommandText=sql;

      cmd.ExecuteNonQuery();

    }

    cmd.Transaction.Commit();//提交事务

    return true;

  }

  catch(Exception ex)

  {

    if(cmd.Transaction!=null)

    {

      cmd.Transaction.Rollback();//回滚事务

    }

    throw ex;

  }

  finally

  {

    if(cmd.Transaction!=null)

    {

      cmd.Transaction=null;//清空事务

    }

    conn.Close();

  }

}

SQLServer数据库通用访问类的更多相关文章

  1. C#:数据库通用访问类 SqlHelper

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  2. 针对SQLServer数据库的通用访问类

    Web.config中代码 <configuration> <connectionStrings> <add name="connString" co ...

  3. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  4. C# SQL数据库的访问类

    /// <summary> /// SQL数据库的访问类 /// </summary> public class SQLHelper { /// <summary> ...

  5. SQLserver数据库操作帮助类SqlHelper

    1 SqlHelper源码 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using ...

  6. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问

    上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别” ...

  7. Ado.net 通用访问类

    public class DbHelperSQL { private static string connString = ConfigurationManager.ConnectionStrings ...

  8. DataAccess通用数据库访问类,简单易用,功能强悍

    以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...

  9. 一个通用数据库访问类(C#,SqlClient)

    本文转自:http://www.7139.com/jsxy/cxsj/c/200607/114291.html使用ADO.NET时,每次数据库操作都要设置connection属性.建立connecti ...

随机推荐

  1. 简洁判断一个byte中有多少位为1的bit?

    以下是Brian W. Kernighan公开的一个方法 unsigned bit_count(unsigned v) { unsigned int c; //置位总数累计 ; v; c++) { v ...

  2. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  3. WebDriver: Getting it to play nicely with Xvfb

    http://www.markhneedham.com/blog/2011/12/15/webdriver-getting-it-to-play-nicely-with-xvfb/ Thoughts ...

  4. 《Mysql 公司职员学习篇》 第二章 小A的惊喜

          第二章 小A的惊喜  ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...

  5. php验证码制作

    目标: 使用php生成验证码 成品: 逻辑代码: authcode.php <?php header("Content-type:image/png"); session_s ...

  6. 读jQuery官方文档:遍历

    遍历 jQuery的快捷遍历方法可以快速定位到想要的元素.查找祖先元素 html<div class="grandparent"> <div class=&quo ...

  7. JAXB - XML Schema Types, Date and Time

    JAXB binds all three of the schema types xsd:date, xsd:time and xsd:dateTime to XMLGregorianCalendar ...

  8. JDK Tools - jinfo: Java 配置信息工具

    jinfo 是 JDK 自带的配置信息工具,可以查看.设置 Java 进程的参数配置. 命令格式 jinfo [ option ] pidjinfo [ option ] executable cor ...

  9. RabbitMQ 原文译1.2--"Hello Word"

    本系列文章均来自官网原文,属于个人翻译,如有雷同,权当个人归档,忽喷. .NET/C# RabbitMQ 客户端下载地址:https://github.com/rabbitmq/rabbitmq-do ...

  10. 通过公网连接云数据库Memcache--ECS Windows篇

    目前云数据库Memcache是需要通过ECS的内网进行连接访问,如果用户本地需要通过公网访问云数据库Memcache,可以在ECS Windows云服务器中通过netsh进行端口映射实现. 一.搭建要 ...