1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Web;  5 using System.Data.SqlClient;  6 using System.Data;  7   8 /// <summary>  9 ///DBHelper 的摘要说明 10 /// </summary> 11 public class DBHelper 12 { 13     private static DBHelper _instance; 14     protected DBHelper() 15     { 16         // 17 //TODO: 在此处添加构造函数逻辑 18 // 19     } 20     public static DBHelper getInstance() 21     { 22         if (_instance == null) 23         { 24             _instance = new DBHelper(); 25         } 26         return _instance; 27     } 28     //返回一个连接 29     public static SqlConnection ReturnConn() 30     { 31         string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString(); 32         SqlConnection Conn = new SqlConnection(strConn); 33         if (Conn.State.Equals(ConnectionState.Closed)) 34         { 35             Conn.Open(); 36         } 37         return Conn; 38     } 39     //带参数的CreateCmd命令 40     public static SqlCommand CreatCmd(string procName, SqlParameter[] prams) 41     { 42         SqlConnection Conn = ReturnConn(); 43         SqlCommand Cmd = new SqlCommand(); 44         Cmd.CommandType = CommandType.StoredProcedure; 45         Cmd.Connection = Conn; 46         Cmd.CommandText = procName; 47         if (prams != null) 48         { 49             foreach (SqlParameter parameter in prams) 50             { 51                 if (parameter != null) 52                 { 53                     Cmd.Parameters.Add(parameter); 54                 } 55             } 56         } 57         return Cmd; 58     } 59     //重载带参数带连接的CreateCmd命令 60     public static SqlCommand CreatCmd(string procName, SqlParameter[] prams, SqlConnection Conn) 61     { 62         SqlConnection SqlConn = Conn; 63         if (SqlConn.State.Equals(ConnectionState.Closed)) 64         { 65             SqlConn.Open(); 66         } 67         SqlCommand Cmd = new SqlCommand(); 68         Cmd.CommandType = CommandType.StoredProcedure; 69         Cmd.Connection = SqlConn; 70         Cmd.CommandText = procName; 71         if (prams != null) 72         { 73             foreach (SqlParameter parameter in prams) 74             { 75                 if (parameter != null) 76                 { 77                     Cmd.Parameters.Add(parameter); 78                 } 79             } 80         } 81         return Cmd; 82     } 83     //重载不带参数带连接的CreateCmd命令 84     public static SqlCommand CreatCmd(string procName, SqlConnection Conn) 85     { 86         SqlConnection SqlConn = Conn; 87         if (SqlConn.State.Equals(ConnectionState.Closed)) 88         { 89             SqlConn.Open(); 90         } 91         SqlCommand Cmd = new SqlCommand(); 92         Cmd.CommandType = CommandType.StoredProcedure; 93         Cmd.Connection = SqlConn; 94         Cmd.CommandText = procName; 95         return Cmd; 96     } 97     //重载不带参数不带连接的CreateCmd命令 98     public static SqlCommand CreatCmd(string procName) 99     {100         SqlConnection SqlConn = ReturnConn();101         SqlCommand Cmd = new SqlCommand();102         Cmd.CommandType = CommandType.StoredProcedure;103         Cmd.Connection = SqlConn;104         Cmd.CommandText = procName;105         return Cmd;106     }107     //带参数的RunProcGetReader108     public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)109     {110         SqlCommand Cmd = CreatCmd(procName, prams);111         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);112         return Dr;113     }114     //重载带参数和连接的RunProcGetReader115     public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams, SqlConnection Conn)116     {117         SqlCommand Cmd = CreatCmd(procName, prams, Conn);118         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);119         return Dr;120     }121     //重载带连接的RunProcGetReader122     public static SqlDataReader RunProcGetReader(string procName, SqlConnection Conn)123     {124         SqlCommand Cmd = CreatCmd(procName, Conn);125         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);126         return Dr;127     }128     //重载不带参数和连接的RunProcGetReader129     public static SqlDataReader RunProcGetReader(string procName)130     {131         SqlCommand Cmd = CreatCmd(procName);132         SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);133         return Dr;134     }135     //返回执行命令后的表136     public static DataTable RunProcGetTable(string procName, SqlParameter[] prams, SqlConnection Conn)137     {138         SqlCommand Cmd = CreatCmd(procName, prams, Conn);139         SqlDataAdapter Dtr = new SqlDataAdapter();140         DataSet Ds = new DataSet();141         Dtr.SelectCommand = Cmd;142         Dtr.Fill(Ds);143         DataTable Dt = Ds.Tables[0];144         Conn.Close();145         return Dt;146 147     }148     //重载返回执行命令后的表149     public static DataTable RunProcGetTable(string procName, SqlParameter[] prams)150     {151         SqlConnection Conn = ReturnConn();152         SqlCommand Cmd = CreatCmd(procName, prams, Conn);153         SqlDataAdapter Dtr = new SqlDataAdapter();154         DataSet Ds = new DataSet();155         Dtr.SelectCommand = Cmd;156         Dtr.Fill(Ds);157         DataTable Dt = Ds.Tables[0];158         Conn.Close();159         return Dt;160 161     }162     //重载返回执行命令后的表163     public static DataTable RunProcGetTable(string procName)164     {165         SqlConnection Conn = ReturnConn();166         SqlCommand Cmd = CreatCmd(procName, Conn);167         SqlDataAdapter Dtr = new SqlDataAdapter();168         DataSet Ds = new DataSet();169         Dtr.SelectCommand = Cmd;170         Dtr.Fill(Ds);171         DataTable Dt = Ds.Tables[0];172         Conn.Close();173         return Dt;174 175     }176     //返回执行SQL语句后受影响的行数177     public static int RunExecute(string procName)178     {179         SqlConnection Conn = ReturnConn();180         SqlCommand Cmd = CreatCmd(procName, Conn);181         int intResult = Cmd.ExecuteNonQuery();182         Conn.Close();183         return intResult;184 185     }186     //返回执行SQL语句后受影响的行数,带参数重载187     public static int RunExecute(string procName, SqlParameter[] prams)188     {189         SqlConnection Conn = ReturnConn();190         SqlCommand Cmd = CreatCmd(procName, prams, Conn);191         int intResult = Cmd.ExecuteNonQuery();192         Conn.Close();193         return intResult;194     }195     //执行并返回第一行第一列196     public static int RunExecuteScalar(string procName)197     {198         SqlConnection Conn = ReturnConn();199         SqlCommand Cmd = CreatCmd(procName, Conn);200         int intResult = Convert.ToInt32(Cmd.ExecuteScalar());201         Conn.Close();202         return intResult;203     }204     //执行并返回第一行第一列,带参数重载205     public static int RunExecuteScalar(string procName, SqlParameter[] prams)206     {207         SqlConnection Conn = ReturnConn();208         SqlCommand Cmd = CreatCmd(procName, prams, Conn);209         int intResult = Convert.ToInt32(Cmd.ExecuteScalar());210         Conn.Close();211         return intResult;212     }213 }

转载于:https://www.cnblogs.com/tangzhengyue/archive/2012/03/03/2378453.html

DBHelper 使用的是存储过程相关推荐

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

    话不多少 直接贴代码 需引入的命名空间 需引入的命名空间 定义连接属性 SQL连接对象 private SqlConnection conn;public SqlConnection Conn {ge ...

  2. 使用存储过程更新数据库!成功了但是返回值为 -1 的变态问题的解决办法!

    今天遇到个表态的问题!使用带事务的存储过程执行sql语句,看数据库里面插入更新都正常! 但是返回值一直为-1! 头那个大哦!先贴2个存储过程吧!看大侠们能否找到问题的存在 USE [My_DB] GO ...

  3. java连接sqlserver 2005执行存储过程的几种情况

    2019独角兽企业重金招聘Python工程师标准>>> java链接sqlserver 执行存储过程 package com.antianlu.test;import java.sq ...

  4. SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)...

    存储过程有三种返回: 1.   用return返回数字型数据 2.   用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3.   直接在存储过程中用select返回结果集,可 ...

  5. asp.net模糊查询存储过程

    关于这个网上有很多,但都不是非常完整,许多看的一头雾水.我也是根据前辈的很多资料进行了总结,做一个完整的介绍,希望大家共同学习. 首先是存储过程: ALTER PROCEDURE [dbo].[Get ...

  6. DbHelper数据操作类,DbProviderFactories

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  7. asp.net DBHelper类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  8. 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程...

    系统初始化的运行效果如下: 参数表是为了防止反复被初始化的,防止关键数据丢失. 其实很多人都提过希望有系统初始化的功能,最近稍微空一些,就给系统增加了一个初始化的功能,给大家参考一下. 首先写了一个存 ...

  9. C#中数据库事务、存储过程基本用法

    SQL 事务 public bool UpdateQsRegisterSql(List<string> ids, int newQueueId, string newQueueName){ ...

最新文章

  1. 从Android中Activity之间的通信说开来
  2. leetcode算法题--子集
  3. ios之开发者须知常见简写英文代表的含义
  4. Citrix Production Features by Edition
  5. Pjax无刷新跳转页面实现,支持超链接与表单提交
  6. 兼容CSS性技巧大全
  7. JAVA中数据的读取与写入,不同类型数据的转换
  8. [技术分享] 融云开发案例核心代码分享
  9. 金蝶14.0系统服务器安装教程,金蝶kis专业版14.0安装注意事项
  10. 业务流程图绘制方法经验谈(上篇)
  11. 126邮箱绑定QQ邮箱并微信提醒
  12. otl连接mysql_otl通过myodbc连接mysql
  13. HTTP3 正式发布,很快哦
  14. 报错解决——Failed to load resource: the server responded with a status of 404 (Not Found)
  15. “马主任吗?去机场的车来了没有?
  16. 如何用windows系统自带的截图工具截图
  17. java 气泡图_java报表开发制作气泡图
  18. FinalShell - 一个免费且好用的ssh工具
  19. 关于RTT、TTL、MSL的概念解释
  20. 开原框架RxJava

热门文章

  1. linux挂载和卸载
  2. Linux下源码安装CodeBlocks
  3. Class.isAssignableFrom(Class clz)与instanceof与Class.isInstance(Object obj) 的区别和联系
  4. CPlus的简单线程的制作
  5. spring定时任务
  6. How to become the truely yourself?
  7. PMCAFF产品经理第一课 | 杭州站 现场集锦
  8. 【干货】如何确定需求优先级,如何确定功能优先级
  9. 语音助手们——功能未动,趣味先行
  10. IBM营收持续下滑 不过蓝色巨人证明自己非老矣