SQLHelper

article/2025/9/18 15:00:35

前言

  小编在最近的学习过程中用到了SQLHelper,说起来,小编也是有点懒,虽然是用到了,但是也没有用明白,开始的时候也没有好好的研究,直到后来报错了,才下定决心好好好学习了解一下这个东西。下面先介绍一下SQLHelper是什么吧。

SQLHelper简介

  SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。
  SqlHelper简化了那些重复的数据库连接SqlConnection,SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给其中的方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。
  SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。

遇到的问题

  我遇到的问题是发生在数据库插入数据的时候,能够在数据库的表中插入数据,但是插入数据之后还会报错,错误内容是这个:
错误
  看到这个错误以后我也没有什么头绪,然后我就开始各种调试,断点,逐语句,逐过程,最后发现错误是在我的SQLHelper里,在D层调用SQLHelper方法,然后返回了一个数据表
错误
  这是返回了一个数据表,但是并没有这个表干什么的呢?我不需要这个表啊,因为我前面不需要了,我只需要把原来的数据插入到数据库就可以了,所以,问题就出在了这里,既然问题找到了,那么小编就开始针对SQLHelper进行了一番查询,不查不知道,一查吓一跳,各种各样的方法全都出来了,小编中间还问了几个人,学习了解了一下,说实话,我原来并不知道有这么多的方法,我以为只需要一个就可以了,还是学艺不精惹得祸,下面就看看我查到了什么内容吧

SQLHelper的方法成员分类

  ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。
  ExecuteReader。此方法用于返回SqlDataReader对象,该对象包含由某一命令返回的结果集。
  ExecuteDataset。此方法返回DataSet对象,该对象包含由某一命令返回的结果集。
  ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。
  ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。
  除了这些公共方法外,SqlHelper 类还包含一些专用函数,用于管理参数和准备要执行的命令。不管客户端调用什么样的方法实现,所有命令都通过 SqlCommand 对象来执行。在 SqlCommand 对象能够被执行之前,所有参数都必须添加到 Parameters 集合中,并且必须正确设置 Connection、CommandType、CommandText 和 Transaction 属性。SqlHelper 类中的专用函数主要用于提供一种一致的方式,以便向 SQL Server 数据库发出命令,而不考虑客户端应用程序调用的重载方法实现。
  下面是小编所用的一个方法,仅供参考:

public static string connstring = System.Configuration.ConfigurationManager.AppSettings["ConnStr"];//接收来自配置文件的数据 
    // 执行非查询,返回受影响行数,异常返回-1;public static bool ExceNonQuery(string sql, CommandType type, IDataParameter[] pars){SqlConnection con = new SqlConnection(connstring);SqlCommand com = new SqlCommand(sql, con);if (pars != null && pars.Length > 0){foreach (SqlParameter pp in pars)//把参数集全部加进去com.Parameters.Add(pp);}try{con.Open();int t = com.ExecuteNonQuery();if (t > 0){return true;}elsereturn false;}catch (Exception ) { return false; }finally{com.Parameters.Clear();com.Dispose();con.Close();}}

D层调用的时候是这样的

 bool result = SqlHelper.ExceNonQuery(sql, CommandType.Text, sqlParams);

总结

  工欲善其事,必先利其器。SQLHelper可谓是一大利器了,所以还是要好好的理解和学习,现在还是在用别人的SQLHelper,但是以后肯定要自己写了,毕竟别人的东西肯定不能一直满足自己的需求的,如何自己去写呢?要学习站在巨人的肩膀上,前人已经为我们做了那么多的铺垫,我们怎么能不去锦上添花呢。


http://chatgpt.dhexx.cn/article/b7lFa4hS.shtml

相关文章

sqlhelper 的使用 (C#)超级详细的入门教程

sql helper 的使用 (C#)小白教程 提到CRUD,很多刚入门的小白总是来一条写一条连接,先建立连接connection 打开连接 open 来查询query 最后别忘了关闭连接 close 。 要是一次写多个操作,那一遍一遍写下来肯定麻木了。…

Python中的BIF

什么是BIF呢? BIF是built-in functions的缩写,顾名思义,就是内建函数。Python中提供了大量的BIF,这就意味着代码量可以大大减少。 如果要查看Python中的内建函数,就可以使用命令:dir(__builtins__) 注意…

一、bif

缩进是python的灵魂,缩进可以使python的代码整洁,有层次。 python是脚本语言,就是为了简单方便以辅助科学运算,因此python有许多bif,build in function 全部都是小写的就是bif。 转义字符是一个字符,在内存…

FineBI

还是数据可视化工具Tableau、FineBI? 不禁联想起在微软系统出现之前,程序员的电脑系统还是用的linux,只能通过各种复杂的指令来实现字符的简单可视化;而当win系统普及于世后,计算机从此突破了技术人群的限制,交互方式…

Python学习笔记2(小甲鱼)—— 内置函数BIF

 这里有一个让人“亮瞎眼”的“游戏”开始python的学习。首先我们编写一段代码,来实现这个游戏。编写操作可参考前面的《Python学习笔记1——搭建环境与“Hello World”》这篇文章,网址:http://blog.csdn.net/tongbi…

BSDiff算法

https://blog.csdn.net/add_ada/article/details/51232889 BSDiff是一个差量更新算法,它在服务器端运行BSDiff算法产生patch包,在客户端运行BSPatch算法,将旧文件和patch包合成新文件。 差量更新算法的核心思想 尽可能多的利用old文件中已有…

MFBI

MFBI MFBI: Multi-Frequency Band Indicator 之前在写” Carrier frequency 和 EARFCN的关系”, 提到过MFBI. 简单的讲就是不同band间对应的frequency 的范围之间有overlapping, 一个frequency 可能对应多个band. 比如2595MHz 即属于band38 又属于band41. 关于那些band间存…

Python的内置函数(BIF)与变量的使用

Python的内置函数(BIF)与变量的使用 1、内置函数 使用dir()可查看所有的内置函数 dir(__builtins__)使用help()可查看内置函数的功能,例如: help(UserWarning)2、input函数 作用是在控制台输入数据,返回的是字符串…

Python内置函数(BIF)查询(附中文详解说明)

我们知道,Python 解释器内置了一些常量和函数,叫做内置常量(Built-in Constants)和内置函数(Built-in Functions),来实现各种不同的特定功能,在我的另外一篇博客中 第8章&#xff1a…

【BF算法】

BF 算法 BF 算法精讲 在学习到字符串的匹配问题时,了解到了BF算法和KMP算法。 对比这两个算法,先了解BF算法; 字符串匹配问题,比如说:有一个主串 “abbbcdef” , 子串 “bbc”,该问题就是在主…

BIF

python3的内置函数

Python中常见BIF及使用方法

前提说明: BIF:(built-in functions)内置函数 目的:为了方便程序员快速的编写程序 1.查看Python内置函数命令: dir(__builtins__) print(dir(__builtins__))结果如下: 2.help查看使用方法 如: hel…

认识BIF

1.打开IDLE窗口,file新建一个窗口,输入以下代码: 点击file,save保存,接着点击run,或者F5执行 Python对于缩进的命令很敏感,如果这样改就会错误 else后面的冒号可以智能进行缩进,回车…

python中的几个概念:BIF,函数,方法,模块,包,库

一、BIF(built in founctions,内置函数):python自带函数,直接调用即可,python3自带函数如下: 二、函数(function):就是方法,使用def 定义 三、模…

SQL优化面试专题

介绍: 无论您是创建Web应用程序的开发人员,还是参与Web测试的DBA或测试人员,SQL方面的技巧在数据库编程和数据库验证中都非常重要。因此,我们整理了QL性能优化方面的面试问题。 SQL性能优化是一项艰巨的任务,并且是处…

有哪些SQL优化的手段?

文章目录 1.1 SQL的性能分析1.1.1 通过 show status 命令了解各种 SQL 的执行频率1.1.2 慢查询日志1.1.3 profile分析1.1.4 通过 EXPLAIN 分析低效 SQL 的执行计划 1.2 常用的SQL语句优化 1.1 SQL的性能分析 当面对一个有 SQL 性能问题的数据库时,我们应该首先进行系…

SQL优化终于干掉了“distinct”

SQL优化之多表联合查询干掉“distinct”去重关键字 一、优化目的二、优化之前的sql长这样三、DISTINCT关键字的用法四、谈:如何优化distinct的sql五、distinct真的和group by等价吗?六、优化后的sql长啥样?七、总结2020.10.14更【来自评论区大佬的精彩观…

SQL关于Date类型时间段查询优化(时间跨度稍长)(记一次自己工作开发中遇到的SQL优化经验)

前言 以下用于SQL查询的数据均为测试环境的数据,关键数据都已打码。 背景 我们的日常开放中都会遇到 查询某个时间段的数据,像这样: select * from test(表名) where time BETWEEN 2022-08-20 00:00:00 AND 2022-09-19 00:00:00但如果时间…

MySql基础知识总结(SQL优化篇)

🍅 作者简介:CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 关注公众号【哪吒编程】,回复1024&a…

【高级开发必掌握SQL】SQL优化篇

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主&#x1f3…