牛腩新闻发布系统(B/S)中的SQLHelper

2024-08-26 20:32

本文主要是介绍牛腩新闻发布系统(B/S)中的SQLHelper,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.关于SQLHelper的基础知识的说明,简单介绍一下:

SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法,SqlHelper有很多版本,主要以微软一开始发布的SqlHelper类,后面包含进了Enterprise Library开源包中了。还有一个主要版本是dbhelper.org开源的sqlhelper组件,优点是简洁,高性能,不仅仅支持sqlserver,同时支持sqlserver、oracle、access、Mysql数据库,也是一个开源项目,提供免费下载。

SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。

SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。


2.在这里主要说一下关于再次学习SQLHelper的感受:

在这次的B/S牛腩新闻发布系统的学习过程中,相对于C/S的学习中使用到的SQLHelper,略微有些不同,但很大部分还是和C/S的样子。其中关于SQLHelper的使用主要还是连接数据库的助手,执行SQL语句或存储过程。数据库助手的应用主要还是为了方便开发人员的开发和应用,减少代码量,以到达提高效率的作用。


/** 创建人:吴士龙* 创建时间:2015-07-15 17:12* 说明:数据库助手类* 版权所有:个人*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;namespace DAL
{public class SQLHelper{private SqlConnection conn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;public SQLHelper(){string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;conn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (conn.State == ConnectionState.Closed){conn.Open();}return conn;}/// <summary>///  执行不带参数的增删改SQL语句或存储过程/// </summary>/// <param name="cmdText">增删改SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public int ExecuteNonQuery(string cmdText, CommandType ct){int res;try{cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;res = cmd.ExecuteNonQuery();}catch (Exception ex){throw ex;}finally{if (conn.State == ConnectionState.Open){conn.Close();}}return res;}/// <summary>///  执行带参数的增删改SQL语句或存储过程/// </summary>/// <param name="cmdText">增删改SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct){int res;using (cmd = new SqlCommand(cmdText, GetConn())){cmd.CommandType = ct;cmd.Parameters.AddRange(paras);res = cmd.ExecuteNonQuery();}return res;}/// <summary>///  执行查询SQL语句或存储过程/// </summary>/// <param name="cmdText">查询SQL语句或存储过程</param>/// <param name="ct">命令类型</param>/// <returns></returns>public DataTable ExecuteQuery(string cmdText, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}/// <summary>///  执行带参数的查询SQL语句或存储过程/// </summary>/// <param name="cmdText">查询SQL语句或存储过程</param>/// <param name="paras">参数集合</param>/// <param name="ct">命令类型</param>/// <returns></returns>public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());cmd.CommandType = ct;cmd.Parameters.AddRange(paras);using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}}
}

这篇关于牛腩新闻发布系统(B/S)中的SQLHelper的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109606

相关文章

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模