`
yiyeqinghuasoon
  • 浏览: 643492 次
文章分类
社区版块
存档分类
最新评论

一个很好用的DBHelper类(包括使用SQL语句 存储过程 事务 做相关操作) 入门级

 
阅读更多

话不多少 直接贴代码

 

需引入的命名空间

需引入的命名空间

 

定义连接属性

SQL连接对象
 1 private  SqlConnection conn;
 2         public  SqlConnection Conn 
 3         {
 4             get 
 5             {
 6                 if (conn == null)
 7                 {
 8                     string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
 9                     conn = new SqlConnection(connStr);
10                 }
11                 if (conn.State == ConnectionState.Closed)
12                     conn.Open();
13                 if (conn.State == ConnectionState.Broken)
14                 {
15                     conn.Close();
16                     conn.Open();
17                 }
18                 return conn; 
19             }
20         }


做查询(包括sql语句和带参数的SQL语句)

查询
 1   //查询:DataReader
 2         public  SqlDataReader GetReader(string sql)
 3         {
 4            SqlCommand cmd = new SqlCommand(sql, Conn);
 5            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
 6         }
 7         public  SqlDataReader GetReader(string sql,SqlParameter[] paras)
 8         {
 9             SqlCommand cmd = new SqlCommand(sql, Conn);
10             cmd.Parameters.AddRange(paras);
11             return cmd.ExecuteReader(CommandBehavior.CloseConnection);
12         }
13 
14         //查询:DataTable
15         public DataTable GetTable(string sql)
16         {
17             SqlDataAdapter dap = new SqlDataAdapter(sql, Conn);
18             DataTable dt = new DataTable();
19             dap.Fill(dt);
20             conn.Close();
21             return dt;
22         }
23         public DataTable GetTable(string sql, SqlParameter[] paras)
24         {
25             SqlCommand cmd = new SqlCommand(sql, Conn);
26             cmd.Parameters.AddRange(paras);
27             SqlDataAdapter dap = new SqlDataAdapter(cmd);
28             DataTable dt = new DataTable();
29             dap.Fill(dt);
30             conn.Close();
31             return dt;
32 
33         }

 

做增删改(包括sql语句和带参数的SQL语句)

增删改
 1 //增改删
 2         public bool ExecuteNoQuery(string sql)
 3         {
 4             SqlCommand cmd = new SqlCommand(sql, Conn);
 5             int result = cmd.ExecuteNonQuery();
 6             this.conn.Close();
 7             return result > 0;
 8         }
 9         public bool ExecuteNoQuery(string sql, SqlParameter[] paras)
10         {
11             SqlCommand cmd = new SqlCommand(sql, Conn);
12             cmd.Parameters.AddRange(paras);
13             int result = cmd.ExecuteNonQuery();
14             this.conn.Close();
15             return result > 0;
16         }

 

执行聚合函数(包括sql语句和带参数的SQL语句)

执行聚合函数
 1         //执行聚合函数
 2         public object ExecuteScalar(string sql)
 3         {
 4             SqlCommand cmd = new SqlCommand(sql, Conn);
 5             object result = cmd.ExecuteScalar();
 6             this.conn.Close();
 7             return result;
 8         }
 9         public object ExecuteScalar(string sql, SqlParameter[] paras)
10         {
11             SqlCommand cmd = new SqlCommand(sql, Conn);
12             cmd.Parameters.AddRange(paras);
13             object result = cmd.ExecuteScalar();
14             this.conn.Close();
15             return result;
16         }


 执行存储过程获取数据集(包括sql语句和带参数的SQL语句)

 

执行存储过程获取数据集(查询)
 1  //执行存储过程获取数据集(查询)
 2         public DataTable ExecuteProcSelect(string ProcName, SqlParameter[] paras)
 3         {
 4             SqlCommand cmd = new SqlCommand(ProcName, Conn);
 5             cmd.Parameters.AddRange(paras);
 6             cmd.CommandType = CommandType.StoredProcedure;
 7             SqlDataAdapter dap = new SqlDataAdapter(cmd);
 8             DataTable dt = new DataTable();
 9             dap.Fill(dt);
10             this.conn.Close();
11             return dt;       
12         }

 

执行存储过程做增删改

执行存储过程做增删改
 1 //执行存储过程做增删改
 2  public bool ExecuteProcUpdate(string ProcName, SqlParameter[] paras)
 3         {
 4             SqlCommand cmd = new SqlCommand(ProcName, Conn);
 5             cmd.Parameters.AddRange(paras);
 6             cmd.CommandType = CommandType.StoredProcedure;
 7             int result = cmd.ExecuteNonQuery();
 8             this.conn.Close();
 9             return result > 0;
10         }


执行事物(ADO.NET)

执行事物(ADO.NET)
 1    //执行事物(ADO.NET)
 2         public bool ExecuteTrasaction(string sqlStr, string TranName)
 3         {
 4             bool result = true;
 5             SqlTransaction tran = null;
 6             try
 7             {
 8                 tran = Conn.BeginTransaction(TranName);
 9                 SqlCommand cmd = new SqlCommand(sqlStr, Conn, tran);
10                 int n = cmd.ExecuteNonQuery();
11                 if (n > 0)
12                 {
13                     tran.Commit();
14                     result = true;
15                 }
16                 else
17                 {
18                     tran.Rollback();
19                     result = false;
20                 }
21             }
22             catch
23             {
24                 tran.Rollback();
25                 result = false;
26             }
27             return result;
28         }


本文完...

0
1
分享到:
评论
1 楼 drcjian 2012-01-18  
干嘛不写成单例模式呢??

相关推荐

    达梦数据库_SQL语言手册

    入门级和过渡级的符合率均达到,并且部分支持 更新的 标准。同时还兼容 和 的部分语言特性。本章主要 介绍系统所支持的语言 语 语言的特点 语言符合结构化査询语言标准,是标准的扩充。它集数据定乂、数据査 ...

    Toad 使用快速入门

    例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在浏览窗口操作数据库对象。 SQL 编辑器: SQL 编辑器的...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 ...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    8.7 创建一个快速示例 8.7.1 创建数据库 8.7.2 添加数据库关系图和初始表 8.7.3 添加关系 8.7.4 添加一些约束 8.8 本章小结 8.9 练习 第9章 SQLServer存储和索引结构 9.1 SQLServer存储机制 9.1.1 数据库 9.1.2 ...

    SQL21日自学通

    在一个SELECT 语句中使用多个表119 正确地找到列123 等值联合124 不等值联合129 外部联合与内部联合130 表的自我联合132 总结134 问与答134 校练场134 练习135 第七天子查询内嵌的SQL 子句136 目标136 建立一个子...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL Server 2008高级程序设计 4/6

     8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区视图  8.11 小结 第9章 脚本和批处理  9.1 脚本的基本概念  9.2 批处理  9.3 SQLCMD  9.4 动态SQL:使用EXEC命令...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    SQL Server 2008高级程序设计 2/6

     8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区视图  8.11 小结 第9章 脚本和批处理  9.1 脚本的基本概念  9.2 批处理  9.3 SQLCMD  9.4 动态SQL:使用EXEC命令...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    神通数据库-数据库快速入门.pdf

    在神通数据库中一个事务可以由一条或多条 sql 语句构成。事务的提交状态可以是自动提交也可以是手 动提交。有关事务的控制命令包括 BEGIN,COMMIT,ROLLBACK。 • 支持模式 一个数据库可以包含一个或多个命名的模式...

    MySQL从入门到高级,进阶详解

    -MySQL内部是如何执行一条SQL语句的? -MySQL提示不存在此列“是执行到哪个节点报出的? -如果一张表创建了多个索引,在哪个阶段或模块进行的索引选择? -MySQL支持哪些存储引擎?默认使用哪个? -Mysql8.0自带哪些存储...

    Java数据库编程宝典3

    4.8 SQL语句 4.8.1 Statement对象 4.8.2 PreparedStatement语句 4.8.3 CallableStatement 4.9 事务 4.9.1 事务独立性等级 4.9.2 事务存储点 4.9.3 多线程 4.10 批更新 4.11 ResultSet 4.12 可滚动的...

    SQL必知必会(第3版-PDF清晰版)part1

    附录C SQL语句的语法...... 167 C.1 ALTER TABLE... 167 C.2 COMMIT... 167 C.3 CREATE INDEX... 168 C.4 CREATE PROCEDURE... 168 C.5 CREATE TABLE... 168 C.6 CREATE VIEW... 168 C.7 DELETE... 169 C.8 DROP......

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    SQL Server 2008高级程序设计 5/6

     8.8 使用VIEW METADATA使自己的视图看起来像一个表  8.9 索引(物化)视图  8.10 分区视图  8.11 小结 第9章 脚本和批处理  9.1 脚本的基本概念  9.2 批处理  9.3 SQLCMD  9.4 动态SQL:使用EXEC命令...

Global site tag (gtag.js) - Google Analytics