SQLServer数据库通用访问类
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数据库通用访问类的更多相关文章
- C#:数据库通用访问类 SqlHelper
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...
- 针对SQLServer数据库的通用访问类
Web.config中代码 <configuration> <connectionStrings> <add name="connString" co ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- C# SQL数据库的访问类
/// <summary> /// SQL数据库的访问类 /// </summary> public class SQLHelper { /// <summary> ...
- SQLserver数据库操作帮助类SqlHelper
1 SqlHelper源码 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问
上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别” ...
- Ado.net 通用访问类
public class DbHelperSQL { private static string connString = ConfigurationManager.ConnectionStrings ...
- DataAccess通用数据库访问类,简单易用,功能强悍
以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...
- 一个通用数据库访问类(C#,SqlClient)
本文转自:http://www.7139.com/jsxy/cxsj/c/200607/114291.html使用ADO.NET时,每次数据库操作都要设置connection属性.建立connecti ...
随机推荐
- 简洁判断一个byte中有多少位为1的bit?
以下是Brian W. Kernighan公开的一个方法 unsigned bit_count(unsigned v) { unsigned int c; //置位总数累计 ; v; c++) { v ...
- MySQL入门笔记
MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: · rpm包形式 · 通用二进制 ...
- 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 ...
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
第二章 小A的惊喜 ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...
- php验证码制作
目标: 使用php生成验证码 成品: 逻辑代码: authcode.php <?php header("Content-type:image/png"); session_s ...
- 读jQuery官方文档:遍历
遍历 jQuery的快捷遍历方法可以快速定位到想要的元素.查找祖先元素 html<div class="grandparent"> <div class=&quo ...
- JAXB - XML Schema Types, Date and Time
JAXB binds all three of the schema types xsd:date, xsd:time and xsd:dateTime to XMLGregorianCalendar ...
- JDK Tools - jinfo: Java 配置信息工具
jinfo 是 JDK 自带的配置信息工具,可以查看.设置 Java 进程的参数配置. 命令格式 jinfo [ option ] pidjinfo [ option ] executable cor ...
- RabbitMQ 原文译1.2--"Hello Word"
本系列文章均来自官网原文,属于个人翻译,如有雷同,权当个人归档,忽喷. .NET/C# RabbitMQ 客户端下载地址:https://github.com/rabbitmq/rabbitmq-do ...
- 通过公网连接云数据库Memcache--ECS Windows篇
目前云数据库Memcache是需要通过ECS的内网进行连接访问,如果用户本地需要通过公网访问云数据库Memcache,可以在ECS Windows云服务器中通过netsh进行端口映射实现. 一.搭建要 ...