DBHelper 使用的是存储过程
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 使用的是存储过程相关推荐
- 一个很好用的DBHelper类(包括使用SQL语句 存储过程 事务 做相关操作) 入门级
话不多少 直接贴代码 需引入的命名空间 需引入的命名空间 定义连接属性 SQL连接对象 private SqlConnection conn;public SqlConnection Conn {ge ...
- 使用存储过程更新数据库!成功了但是返回值为 -1 的变态问题的解决办法!
今天遇到个表态的问题!使用带事务的存储过程执行sql语句,看数据库里面插入更新都正常! 但是返回值一直为-1! 头那个大哦!先贴2个存储过程吧!看大侠们能否找到问题的存在 USE [My_DB] GO ...
- java连接sqlserver 2005执行存储过程的几种情况
2019独角兽企业重金招聘Python工程师标准>>> java链接sqlserver 执行存储过程 package com.antianlu.test;import java.sq ...
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)...
存储过程有三种返回: 1. 用return返回数字型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可 ...
- asp.net模糊查询存储过程
关于这个网上有很多,但都不是非常完整,许多看的一头雾水.我也是根据前辈的很多资料进行了总结,做一个完整的介绍,希望大家共同学习. 首先是存储过程: ALTER PROCEDURE [dbo].[Get ...
- DbHelper数据操作类,DbProviderFactories
其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...
- asp.net DBHelper类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程...
系统初始化的运行效果如下: 参数表是为了防止反复被初始化的,防止关键数据丢失. 其实很多人都提过希望有系统初始化的功能,最近稍微空一些,就给系统增加了一个初始化的功能,给大家参考一下. 首先写了一个存 ...
- C#中数据库事务、存储过程基本用法
SQL 事务 public bool UpdateQsRegisterSql(List<string> ids, int newQueueId, string newQueueName){ ...
最新文章
- 从Android中Activity之间的通信说开来
- leetcode算法题--子集
- ios之开发者须知常见简写英文代表的含义
- Citrix Production Features by Edition
- Pjax无刷新跳转页面实现,支持超链接与表单提交
- 兼容CSS性技巧大全
- JAVA中数据的读取与写入,不同类型数据的转换
- [技术分享] 融云开发案例核心代码分享
- 金蝶14.0系统服务器安装教程,金蝶kis专业版14.0安装注意事项
- 业务流程图绘制方法经验谈(上篇)
- 126邮箱绑定QQ邮箱并微信提醒
- otl连接mysql_otl通过myodbc连接mysql
- HTTP3 正式发布,很快哦
- 报错解决——Failed to load resource: the server responded with a status of 404 (Not Found)
- “马主任吗?去机场的车来了没有?
- 如何用windows系统自带的截图工具截图
- java 气泡图_java报表开发制作气泡图
- FinalShell - 一个免费且好用的ssh工具
- 关于RTT、TTL、MSL的概念解释
- 开原框架RxJava
热门文章
- linux挂载和卸载
- Linux下源码安装CodeBlocks
- Class.isAssignableFrom(Class clz)与instanceof与Class.isInstance(Object obj) 的区别和联系
- CPlus的简单线程的制作
- spring定时任务
- How to become the truely yourself?
- PMCAFF产品经理第一课 | 杭州站 现场集锦
- 【干货】如何确定需求优先级,如何确定功能优先级
- 语音助手们——功能未动,趣味先行
- IBM营收持续下滑 不过蓝色巨人证明自己非老矣