C#常用类——DBHelp

摘要:
=空&&conn.State!=ConnectionState.Closed){conn.Close();conn.Open();}else{conn.Open(),}returnDBHelper.conn;}//////关闭连接//publicstaticvoidcloseCon(){if(Conn!=null&&Conn.State!
 

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Configuration;
 using System.Data.SqlClient;
 using System.Data;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Configuration;
 using System.Data.SqlClient;
 using System.Data;

namespace TestPrj                 //空间名字 TestPrj
 
 {
     public class DBHelper         //类名 DBHelper
     {
 
         //获取数据库连接字符串
         private static string connStr = ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString;
 
         private static SqlConnection conn;
 
         public static SqlConnection Conn
         {
             get
             {
                 if (conn == null)
                 {
                     conn = new SqlConnection(connStr);
                     conn.Open();
                 }
                 if (conn != null && conn.State != ConnectionState.Closed)
                 {
                     conn.Close();
                     conn.Open();
                 }
                 else
                 {
                     conn.Open();
                 }
                 return DBHelper.conn;
             }
         }
 
 
         /// <summary>
         /// 关闭连接
         /// </summary>        

public static void closeConn()
         {
             if (Conn != null && Conn.State != ConnectionState.Closed)
             {
                 Conn.Close();
             }
         }

 
 
         /// <summary>
         /// 查询操作
         /// </summary>
         /// <param name="sql">传入以select打头的sql语句或存储过程</param>
         /// <param name="type">命令类型</param>
         /// <param name="pars">数组</param>
         /// <returns></returns>

         public static SqlDataReader getReader(string sql, CommandType type, params SqlParameter[] pars)
         {
             SqlCommand cmd = new SqlCommand(sql, Conn);
             cmd.CommandType = type;
             cmd.Parameters.AddRange(pars);
             return cmd.ExecuteReader();
         }
         public static SqlDataReader getReader(string sql, CommandType type, params SqlParameter[] pars)
         {
             SqlCommand cmd = new SqlCommand(sql, Conn);
             cmd.CommandType = type;
             cmd.Parameters.AddRange(pars);
             return cmd.ExecuteReader();
         }


 
 
         /// <summary>
         /// 执行非查询操作(执行增、删、改操作的),不支持事务
         /// </summary>
         /// <param name="sql">传入以insert|update|delete打头的sql语句或存储过程</param>
         /// <param name="type">命令类型</param>
         /// <param name="pars">数组</param>
         /// <returns></returns>
 

        public static int ExecuteNoneQuery(string sql, CommandType type, params SqlParameter[] pars)
         {
             int result = 0;
 
             SqlCommand cmd = new SqlCommand(sql, Conn);
             cmd.CommandType = type;
             if (pars != null)
             {
                 cmd.Parameters.AddRange(pars);
             }
 
             result = cmd.ExecuteNonQuery();
 
             //关闭连接对象
             CloseConn();
 
             return result;
         }
        public static int ExecuteNoneQuery(string sql, CommandType type, params SqlParameter[] pars)
         {
             int result = 0;
 
             SqlCommand cmd = new SqlCommand(sql, Conn);
             cmd.CommandType = type;
             if (pars != null)
             {
                 cmd.Parameters.AddRange(pars);
             }
 
             result = cmd.ExecuteNonQuery();
 
             //关闭连接对象
             CloseConn();
 
             return result;
         }

 
         /// <summary>
         /// 非查询操作(执行增、删、改操作的),支持事务,进行批量操作
         /// </summary>
         /// <param name="sql">传入以insert|update|delete打头的sql语句或存储过程</param>
         /// <param name="conn">数据库连接</param>
         /// <param name="type">命令类型</param>
         /// <param name="pars">数组</param>
         /// <returns></returns> 

        public static int ExecuteNoneQuery(string sql, SqlConnection conn, CommandType type, params SqlParameter[] pars)
         {
             int result = 0;
 
             //接受外部提供的数据连接对象,并且此连接在本次操作后不要关闭
             SqlCommand cmd = new SqlCommand(sql, conn);
             cmd.CommandType = type;
             cmd.Parameters.AddRange(pars);
 
             result = cmd.ExecuteNonQuery();
 
             return result;
         }
        public static int ExecuteNoneQuery(string sql, SqlConnection conn, CommandType type, params SqlParameter[] pars)
         {
             int result = 0;
 
             //接受外部提供的数据连接对象,并且此连接在本次操作后不要关闭
             SqlCommand cmd = new SqlCommand(sql, conn);
             cmd.CommandType = type;
             cmd.Parameters.AddRange(pars);
 
             result = cmd.ExecuteNonQuery();
 
             return result;
         }

 
         /// <summary>
         /// 获取单个值,返回首行首列
         /// </summary>
         /// <param name="sql">传入以select打头的sql语句</param>
         /// <param name="type">命令类型</param>
         /// <param name="pars">数组</param>
         /// <returns></returns> 

         public static object GetScalar(string sql, CommandType type, params SqlParameter[] pars)
         {
             object obj = null;
 
             SqlCommand cmd = new SqlCommand(sql, Conn);
             cmd.CommandType = type;
             cmd.Parameters.AddRange(pars);
 
             obj = cmd.ExecuteScalar();
 
             //关闭连接对象
             CloseConn();
 
             return obj;
         }
     }
 }


 
 

免责声明:文章转载自《C#常用类——DBHelp》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇大数据测试总结Web前端开发规范下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PostgreSQL备份

 备份与恢复 postgresql自带了两个备份工具: pg_dump:可备份一个指定的database pg_dumpall:可一次性备份所有database数据以及系统全局数据   使用pg_dump备份 pg_dump支持精确指定要备份的表、schema、和database 备份文件可以是SQL文件格式、自定义压缩格式或者tar包格式  pg_dum...

SQL SERVER 2012设置自动备份数据库

  为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法:   一、打开SQL SERVER 2012,如图所示:      服务器类型:数据库引擎;   服务器名称:127.0.0.1(本地),也可以选择远程连接;   身份验证:包含Windows身份验证和 SQL Server身份验证,此处选择Windows 身份验证;  ...

精通 Oracle+Python 事务和大型对象

通过 Python 管理数据事务、处理大型对象 事务包含一组 SQL 语句,这组 SQL 语句构成数据库中的一个逻辑操作,如转帐或信用卡支付操作。将 SQL 语句聚合到一个逻辑组中,其效果完全取决于事务的成败,事务成功则提交更改,事务失败则撤销内部 SQL 的结果(整体撤消)。通过 Python,您可以利用 Oracle 数据库所提供的原子性、一致性、孤立...

SQL Server 数据库资源占用分析

1.1查看数据库当前用户连接数和最耗时的查询 USEmaster GO --看一下当前的数据库用户连接有多少--如果要指定数据库就把注释去掉 SELECT * FROM sys.[sysprocesses] WHERE [spid]>50 --AND DB_NAME([dbid])='gposdb' SELECT * FROM [sys].[dm_...

查询设计分析

一、查询设计的建议   在一些情况下,查询结构使优化器不能选择最好的处理策略。知道何时发生这种情况以及如何避免它是很重要的。这里主要介绍如下几点: 在小的结果集上操作; 有效使用索引; 避免优化器提示; 使用域和参照完整性; 避免资源密集型的查询; 减少网络传输数量; 减少事务开销; 二、在小结果集上操作   为了改进查询性能,应限制操作的数据量,包括...

SQL 从查询结果里查询

有orders表: 我想要从从表中查出每天电动车和手机各自的销售总额。这个需求还是蛮简单的,仅仅须要依据createtime和product group by即可了。以下是我写的SQL语句: SELECT DATE_FORMAT( createtime, "%Y-%m-%d" ) cr, product, SUM(price) total FROM o...