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

一个很好用的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语句及使用的快速入门

    SQL语句是根据特定的数据操作需求,使用SQL语法编写的语句。在本文中,我们将快速入门SQL语句的编写与应用,同时简单回顾SQL的发展历程及其前景。 1. SQL语言基础 SQL包含多种语句,用于执行数据库的各种操作。常见...

    sql语句学习入门

    SQL语句学习入门涉及的知识点涵盖了结构化查询语言(SQL)的多个方面,包括基础语法、各类操作符、数据操作语言(DML)和数据定义语言(DDL)等。下面详细解读这些知识点。 1. SQL简介 SQL(Structured Query ...

    非常好的入门级SQL语句教程

    这个“非常好的入门级SQL语句教程”显然是为了帮助初学者快速掌握SQL的核心概念和常用操作。 在教程中,你将学习以下关键知识点: 1. **SQL基础**:首先会介绍SQL的基本语法,包括如何创建(CREATE)、插入...

    SQL操作全集(入门级的实例 )

    本文主要涵盖了SQL的基础操作,包括数据定义、数据操纵和数据控制等类别,适用于入门级别的学习者。 1. 数据定义语言 (DDL): - CREATE DATABASE:创建一个新的数据库,如`CREATE DATABASE database-name`。 - ...

    Sql语句 从入门到高级

    本文将深入探讨“Sql语句从入门到高级”的相关知识点,特别是针对SQL Server数据库的基础语法。 首先,SQL的基础入门知识包括以下几个部分: 1. **数据类型**:了解SQL中的基本数据类型至关重要,如整数(INT)、...

    非常好的sql语句入门教程

    ### SQL入门教程知识点详解 #### 一、SQL基础概述 - **定义与作用**:SQL...随着实践经验和技能的提升,还可以深入学习更高级的主题,如索引优化、事务管理、存储过程等,进一步提高数据库操作效率和安全性。

    SQL Server 2005编程入门经典-触发器和存储过程教程

    4. 使用:可以通过EXEC或sp_executesql语句来执行存储过程。 5. 注意事项:合理设计参数,避免嵌套过多,以防止性能瓶颈。 四、结合使用触发器和存储过程 1. 触发器中调用存储过程:在触发器内部,可以调用存储过程...

    常用SQL语句 SQL入门必备

    本资料“常用SQL语句 SQL入门必备”旨在帮助初学者快速掌握SQL的基本概念和常用操作,以便能够有效地查询、更新和管理数据库。 一、SQL基本概念 1. 数据库(Database):存储和组织数据的系统。 2. 表(Table):...

    SQL入门到精通

    - **存储过程 (STORED PROCEDURE):** 封装了一组预编译的SQL语句,可以在数据库中调用执行。 #### 四、总结 通过对“SQL入门到精通”电子书的部分内容的解读,我们可以看到数据库技术的重要性及其在日常生活中的...

    菜鸟级SQL21天自学通+SQL语言学习循序渐进+SQL经典语句

    《菜鸟级SQL21天自学通》可能是一本旨在帮助新手在21天内快速入门的教程,通过每天的学习任务,系统地介绍SQL的基础语法和常见操作。这本书可能会涵盖以下内容: 1. **SQL基础**:包括SQL的数据类型(如整型、浮点...

    oracle的sql语句和语法

    本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...

    sql入门使用与高级使用

    ### SQL入门使用与高级使用知识点概述 #### 一、SQL简介 - **定义**: SQL (Structured Query Language) 是一种用于管理关系型数据库的标准语言。它主要用于处理存储在表中的数据,包括查询、更新、插入和删除等操作...

    java+sqlserver+存储过程

    存储过程是预编译的SQL语句集合,它们在数据库服务器上预先定义并存储,当需要执行相关操作时,可以通过一个名称调用它,而不是每次运行时都解析和执行相同的SQL代码。这大大减少了网络流量,提高了执行速度,并且...

    SQLServer入门经典+示例

    5. **存储过程和触发器**:存储过程是预编译的SQL语句集合,可提高性能并减少网络流量。触发器则是在特定数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行的代码块,用于实现复杂的业务规则。 6. **事务处理*...

    《sql入门使用与高级使用篇》

    4. **存储过程**:预编译的SQL语句集合,提高执行效率,简化复杂操作。 5. **触发器(TRIGGER)**:自动响应数据更改的程序,常用于实现业务规则。 6. **事务(TRANSACTION)**:确保数据的一致性和完整性,通常涉及...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    sqlserver入门到精通txt

    11. 存储过程和触发器:存储过程是存储在数据库中的一组为了完成特定功能的SQL语句,而触发器是一种特殊类型的存储过程,它会在特定的数据表上发生特定事件时自动执行。 12. SQL高级功能:这部分涵盖了如UNIQUE约束...

    sqlserver入门教程

    - **创建数据库**: 使用 SSMS 连接服务器,通过“新建数据库”操作创建你的第一个数据库。 3. **SQL 查询语言** - **SELECT 语句**: SQL 的核心是查询数据,SELECT 语句用于从表中检索数据。例如,`SELECT * FROM...

    IBM DB2通用数据库SQL入门

    存储过程是一组预编译的SQL语句,可以在需要时调用。函数则是返回单个值的存储过程。DB2提供了创建和调用自定义函数和存储过程的能力,以提高代码复用和性能。 9. **安全性与权限** DB2提供了精细的权限控制,...

    sql快速入门指南

    - 一致性(Consistency): 事务的执行结果必须使数据库从一个一致性状态转换到另一个一致性状态。 - 隔离性(Isolation): 事务之间相互隔离,不能干扰彼此的操作。 - 持久性(Durability): 一旦事务提交,其结果是...

Global site tag (gtag.js) - Google Analytics