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 ...
随机推荐
- MySQL(5):数据表操作
表名的前缀: 两个student表,为了区分相同逻辑表名的不同应用,给逻辑表名,增加前缀 //学生管理 create table info_student ( name varchar(20), st ...
- SSRS集成至Web
分几步进行,第一步要实现:IReportServerCredentials 接口第二步:拖入ReportViewer控件第三步:进行报表传参控制.具体如下图描述....代码部分参考下附件 using ...
- js观察者模式
观察者模式存在观察者和被观察者 被观察者的状态发生改变,通知观察者调用观察者的update方法,观察者的update方法对被观察者的状态进行检测,做出相应的操作 被观察者存在接口attach,deta ...
- django 学习-1
1.首先是安装django 解压包然后 python setup.py install 安装成功 2.建立一个项目 django-admin.py startproject study 3. 再到 ...
- PL/SQL在Oracle服务器上连接出错
今天在Oracle服务器上使用PL/SQL连接Oracle软件的时候出现了错误,错误如下: 具体的解决办法如下: 需要下载32位的Oracle Client,具体的步骤如下:登录Oracle官方网站 ...
- Objective-C 【类对象及SEL存储方式】
------------------------------------------- 类的本质--类对象 一段代码: #import <Foundation/Foundation.h> ...
- 简化版的Flappy Bird开发过程(不使用第三方框架)
目录 .1构造世界 .2在世界中添加元素 .3碰撞检测 .4添加动画特效 .5总结 .0 开始之前 之前曾经用Html5/JavaScript/CSS实现过2048,用Cocos2d-html5/Ch ...
- HTML5 Canvas 绘制时钟
网上会看到很多绘制的时钟,看代码也是云里雾里,自学了下Canvas,觉得不难,就自己做了一个. 先看一下截图: 比较简陋,但是该有的都有了,样式只加了个阴影. html代码就不贴了,就一个canvas ...
- 简单jquery 鼠标悬停提示效果
记得自己引入jq插件哦~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 01_Java解析XML
[打印list.Map集合的工具方法] /** * 打印List集合对应的元素 */ public void printList(List<Object> list){ for(Objec ...