Ado.net 通用访问类
- public class DbHelperSQL
- {
- private static string connString = ConfigurationManager.ConnectionStrings["SqlDataSource"].ToString();
- #region 获取一个连接通道
- /// <summary>
- /// 获取一个连接通道
- /// </summary>
- /// <returns></returns>
- public static SqlConnection CreateConn()
- {
- return new SqlConnection(connString);
- }
- #endregion
- #region 获取数据源
- /// <summary>
- /// 获取数据源
- /// </summary>
- /// <param name="sql"></param>
- /// <param name="parms"></param>
- /// <returns></returns>
- public static DataSet Query(string sql, CommandType cmdType = CommandType.Text, params SqlParameter[] parms)
- {
- DataSet dt = new DataSet();
- using (SqlConnection conn = CreateConn())
- {
- SqlDataAdapter da = new SqlDataAdapter();
- SqlCommand cmd = new SqlCommand(sql, conn);
- cmd.CommandType = cmdType;
- if (parms != null)
- {
- cmd.Parameters.AddRange(parms);
- }
- da.SelectCommand = cmd;
- da.Fill(dt);
- }
- return dt;
- }
- #endregion
- #region 执行事务
- /// <summary>
- /// 执行事务
- /// </summary>
- /// <param name="sql">存储过程名</param>
- /// <param name="parmsList">每个存储过程中所包含的参数</param>
- /// <returns></returns>
- public static int ExecTran(string sql, List<SqlParameter[]> parmsList,CommandType cmdType = CommandType.Text)
- {
- int row = ;
- using (SqlConnection conn = CreateConn())
- {
- conn.Open();
- SqlTransaction tran = conn.BeginTransaction();
- SqlCommand cmd = new SqlCommand(sql, conn, tran);
- cmd.CommandType = cmdType;
- if (parmsList != null && parmsList.Count>)
- {
- foreach (SqlParameter[] parms in parmsList)
- {
- cmd.Parameters.Clear();
- if (parms != null)
- {
- cmd.Parameters.AddRange(parms);
- }
- try
- {
- row += cmd.ExecuteNonQuery();
- }
- catch
- {
- tran.Rollback();
- return ;
- }
- }
- tran.Commit();
- }
- }
- return row;
- }
- #endregion
- #region 执行包含主表和子表的事务
- /// <summary>
- /// 执行包含主表和子表的事务
- /// </summary>
- /// <param name="MainSql">主表存储过程</param>
- /// <param name="MainParmsList">主表存储过程包含的参数</param>
- /// <param name="ChildSql">子表存储过程</param>
- /// <param name="ChildParmsList"></param>
- /// <returns></returns>
- public int ExecTran(string MainSql, CommandType cmdType, List<SqlParameter[]> MainParmsList, string ChildSql, List<SqlParameter[]> ChildParmsList)
- {
- int row = ;
- using (SqlConnection conn = CreateConn())
- {
- conn.Open();
- SqlTransaction tran = conn.BeginTransaction();
- SqlCommand cmd = new SqlCommand(MainSql, conn, tran);
- cmd.CommandType = cmdType;
- if (MainParmsList != null)
- {
- foreach (SqlParameter[] parms in MainParmsList)
- {
- cmd.Parameters.Clear();
- if (parms != null)
- {
- cmd.Parameters.AddRange(parms);
- }
- try
- {
- row = cmd.ExecuteNonQuery();
- }
- catch
- {
- tran.Rollback();
- return ;
- }
- }
- }
- cmd.CommandText = ChildSql;
- if (ChildParmsList != null)
- {
- foreach (SqlParameter[] parm in ChildParmsList)
- {
- cmd.Parameters.Clear();
- if (parm != null)
- {
- cmd.Parameters.AddRange(parm);
- }
- try
- {
- row = cmd.ExecuteNonQuery();
- }
- catch
- {
- tran.Rollback();
- return ;
- }
- }
- tran.Commit();
- }
- }
- return row;
- }
- #endregion
- #region 执行Sql语句
- /// <summary>
- /// 执行Sql语句
- /// </summary>
- /// <param name="sql"></param>
- /// <param name="parms"></param>
- /// <returns></returns>
- public static int ExecuteSql(string sql, CommandType cmdType = CommandType.Text, params SqlParameter[] parms)
- {
- int row = ;
- using (SqlConnection conn = CreateConn())
- {
- conn.Open();
- SqlCommand cmd = new SqlCommand(sql, conn);
- cmd.CommandType = cmdType;
- if (parms != null)
- {
- cmd.Parameters.AddRange(parms);
- }
- row = cmd.ExecuteNonQuery();
- }
- return row;
- }
- #endregion
- #region 获取首行首列
- /// <summary>
- /// 获取首行首列
- /// </summary>
- /// <param name="sql"></param>
- /// <param name="parms"></param>
- /// <returns></returns>
- public static object GetSingle(string sql, CommandType cmdType= CommandType.Text, params SqlParameter[] parms)
- {
- using (SqlConnection conn = CreateConn())
- {
- conn.Open();
- SqlCommand cmd = new SqlCommand(sql, conn);
- cmd.CommandType = cmdType;
- if (parms != null)
- {
- cmd.Parameters.AddRange(parms);
- }
- return cmd.ExecuteScalar();
- }
- }
- #endregion
- }
Ado.net 通用访问类的更多相关文章
- 针对SQLServer数据库的通用访问类
Web.config中代码 <configuration> <connectionStrings> <add name="connString" co ...
- ADO.NET 数据访问类查询、属性扩展
今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...
- SQLServer数据库通用访问类
private static string connString=ConfigurationManager.ConnStrings["connString"].ToString() ...
- C#:数据库通用访问类 SqlHelper
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...
- 一个通用数据库访问类(C#,SqlClient)
本文转自:http://www.7139.com/jsxy/cxsj/c/200607/114291.html使用ADO.NET时,每次数据库操作都要设置connection属性.建立connecti ...
- DataAccess通用数据库访问类,简单易用,功能强悍
以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展dat ...
- C# 通用数据访问类(SqlHelper)
[转]C# 通用数据访问类(SqlHelper) 注:本文转自http://www.tzwhx.com/newOperate/html/3/31/312/13080.htmlVisual C# 动态操 ...
- ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)
ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄)System.Data—— 所有的一般数据访问类System.Data.Common—— 各个数据提供程序共享(或重写)的类Sys ...
- ado.net 实体类_数据访问类
实体类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
随机推荐
- SpringMVC中@ResourceMapping的基本用法
最近从Struts转投SpringMVC,看代码时发现这个注解,感觉其作用应该和Struts的action差不多,把用法记录下来. 1. @RequestMapping(value="/de ...
- Solr与HBase架构设计
摘要:本篇是本人在做一个大数据项目时,对于系统架构的一点总结,如何在保证存储量的情况下,又能保证数据的检索速度. 前提: Solr.SolrCloud提供了一整套的数据检索方案,HBase提 ...
- internet connection sharing has been disabled by the network administrator
Start > Run > gpedit.msc Locate; Computer Configuration/Administrative Templates/Network/Netwo ...
- JSP 标准标签库(JSTL)之最常用的JSTL标签总结
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中下载的二进包(jakarta-t ...
- Hive variable demo
create table ori_trans (account string, maker string, tdate string) partitioned by (country string); ...
- ok,今天讲讲linux的部分指令吧
Linux布置服务 cd 进入 ../ 上一层目录 sh shutdown.sh -------tomcat的关闭指令 sh startup.sh ------ ...
- NOIP2010提高组 关押罪犯 -SilverN
(洛谷P1525) 题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”( ...
- hdu-5496 Beauty of Sequence(递推)
题目链接: Beauty of Sequence Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java ...
- HOJ 2678 Stars
题意:N个星星(x,y,z),星星的等级等于x,y,z都小于等于它的星星数量,问每个等级有多少星星. 思路:最暴力的方法是三维树状数组.但是会超内存.所以我们对其中一维先排好序,然后用二维的做. 代码 ...
- SpringMVC 通过post接收form参数或者json参数
springmvc的controller很多都用来提供restful服务,成为多功能action 同一个接口既能够提供给web端,也可以提供给ios以及安卓 @RequestBody 可以把接收到的j ...