牛腩新闻发布系统(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

相关文章

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。