SQLHelper
来源:互联网 发布:图解网络硬件 kindle 编辑:程序博客网 时间:2024/05/01 01:15
数据库帮助类基本每个程序都会用到,我上网找了很多个,并进行对比,找到一个比较喜欢的,据说是来自一个叫牛腩新闻系统的开源项目,我对其进行了一些小修改
using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;namespace CSJWebApp.BLL{ public class SQLHelper { #region 0.1 声明数据数据库连接所需要的对象 private SqlConnection conn = null; private SqlCommand cmd = null; private SqlDataReader sdr = null; #endregion #region 0.2 构造函数,初始化了连接对象 SQLHelper() /// <summary> /// 将连接数据对象封装到构造函数中 /// </summary> public SQLHelper() { string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; conn = new SqlConnection(connStr); } #endregion #region 0.3 获取连接对象 GetConn() /// <summary> /// 得到连接数据库对象,抽象连接的过程 /// </summary> /// <returns>返回一个连接数据对象</returns> private SqlConnection GetConn() { if (conn.State == ConnectionState.Closed) { conn.Open(); } return conn; } #endregion #region 1.1 执行增/删/改语句,返回受影响行数 int ExecuteNonQuery(string strsql, CommandType cmdtype, SqlParameter[] paras) /// <summary> /// (带参数)执行增/删/改语句,返回受影响行数 /// </summary> /// <param name="strsql">SQL语句</param> /// <param name="paras">参数数组</param> /// <param name="cmdtype">命令类型</param> /// <returns>返回受影响的行数</returns> public int ExecuteNonQuery(string sql, CommandType cmdtype, SqlParameter[] paras) { int res = 0; using (cmd = new SqlCommand(sql, GetConn())) { try { cmd.CommandType = cmdtype; if (paras != null) cmd.Parameters.AddRange(paras); res = cmd.ExecuteNonQuery(); } catch (Exception ex) { if (conn.State == ConnectionState.Open) { conn.Close(); } throw ex; } } return res; } #endregion #region 2.1 执行查询语句或存储过程,返回DataTable类型的数据 DataTable ExecuteQuery(string sql, CommandType cmdtype, SqlParameter[] paras) /// <summary> /// 执行查询语句或存储过程,返回DataTable类型的数据 /// </summary> /// <param name="sql">SQL语句或者存储过程</param> /// <param name="cmdtype">命令类型</param> /// <param name="paras">参数数组</param> /// <returns>返回DataTable类型的数据</returns> public DataTable ExecuteQuery(string sql, CommandType cmdtype, SqlParameter[] paras) { DataTable dt = new DataTable(); cmd = new SqlCommand(sql, GetConn()); cmd.CommandType = cmdtype; if (paras != null) cmd.Parameters.AddRange(paras); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } #endregion #region 2.2 执行查询语句或存储过程,返回第一行第一列的值 DataTable ExecuteScalar(string sql, CommandType cmdtype, SqlParameter[] paras) /// <summary> /// 执行查询语句或存储过程,返回第一行第一列的值 /// </summary> /// <param name="sql">SQL语句或者存储过程</param> /// <param name="cmdtype">命令类型</param> /// <param name="paras">参数数组</param> /// <returns>返回第一行第一列的值</returns> public object ExecuteScalar(string sql, CommandType cmdtype, SqlParameter[] paras) { object res = null; using (cmd = new SqlCommand(sql, GetConn())) { cmd.CommandType = cmdtype; try { if (paras != null) cmd.Parameters.AddRange(paras); res = cmd.ExecuteScalar(); } catch (Exception ex) { if (conn.State == ConnectionState.Open) { conn.Close(); } throw ex; } } return res; } #endregion }}
0 0
- SqlHelper
- SqlHelper
- SqlHelper
- SqlHelper:
- sqlHelper
- SQLHelper
- SqlHelper
- SQLHelper
- SqlHelper
- SqlHelper
- SQLHelper
- SqlHelper
- sqlhelper
- SQLHelper
- SQLHelper
- SQLHelper
- SqlHelper
- SqlHelper
- LeetCode:Subsets
- rgb888与rgb565转换的影响
- 从QProcess说开来(一)
- Cocos2d-x中CCLabel字体类
- Web视觉设计师培训视频教程
- SQLHelper
- 店庆,巨献狂让利,优惠到让你尖叫!
- HTML5网页如何让所有的浏览器都能识别HTML5标签样式
- selenium_第一个脚本_登录新浪微博
- 编码规范
- 动态规划专题(II)
- {CODEVS} 1018 单词接龙(DFS)
- Java&&(面试题)初始化顺序总结
- 寻找内心的力量