在前面我们机房重构的时候已经用过了SQLHelper,但当时就是只会应用,知道利用SQLHelper能够帮助我们连接数据库,但对于怎样书写还是不太清楚,今天就揭开这层神秘的面纱,来真正体验如何来编写SQLHelper助手。

SQLHelper就是访问数据库的,执行的语句就是SQL语句或者存储过程,接下来经过多次调整之后,使助手既能执行sql查询语句,也能执行存储过程。

首先分析一下SQLHelper:

1、变量初始化:

局部变量必须初始化,否则会有编译错误。

     private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;

2、连接数据库

通过构造函数,建立一个公共的数据库连接方式

public SQLHelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
conn = new SqlConnection(connStr);
}

3、打开连接

通过判断数据库连接是否打开,关闭时打开数据库连接。

private SqlConnection GetConn()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return conn;
}

4、执行SQL语句或存储过程

红色的是传入的参数,利用try...catch语句来来简化SQLHelper的书写。

<span style="color:#362e2b;">        /// <summary>
/// 执行不带参数增删改SQL语句或存储过程
/// </summary>
/// <param name="</span><span style="color:#ff0000;">cmdText</span><span style="color:#362e2b;">"></span><span style="color:#ff0000;">增删改SQL语句或存储过程</span><span style="color:#362e2b;"></param>
/// <param name="</span><span style="color:#ff0000;">ct</span><span style="color:#362e2b;">"></span><span style="color:#ff0000;">命令类型</span><span style="color:#362e2b;"></param>
/// <returns></returns>
public int ExecuteNonQuery(string cmdText, CommandType ct)
{
int res;
try
{
cmd = new SqlCommand(cmdText, GetConn());
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex; ’抛出错误
}
finally
{
if (conn.State == ConnectionState.Open)'判断连接是否关闭
{
conn.Close();
}
} return res;
}</span>

    总结

经过改造之后的SQLHelper,已经和之前的SQLHelper助手有了很大的精简,不但代码的重复率大大下降,而且思路更加清晰。经过总结之后对于掌握SQLHelper更加容易,正所谓一回生,二回熟,再次总结收获更多。

新闻系统——SQLHelper助手优化的更多相关文章

  1. [经验] Win7减肥攻略(删文件不删功能、简化优化系统不简优化性能)

    [经验] Win7减肥攻略(删文件不删功能.简化优化系统不简优化性能) ☆心梦无痕☆ 发表于 2014-1-24 11:15:04 https://www.itsk.com/thread-316471 ...

  2. PHP新闻系统开发流程

    PHP新闻系统开发流程一.系统总体设计 (一)系统功能描述和功能模块划分 (二)系统流程分析 (三)系统所用文件二.数据库设计 (一)创建数据库 (二)设计表结构三.新闻发布模块开发 (一)新闻首页 ...

  3. Linux:系统的基本优化

    前言,在拥有一台服务器的时候,首先第一件事就要根据自己的需求进行初期的优化(装好系统了),以下是关于linux系统的基本优化,内容来源与网络,自己整理了以下,忘记来自哪个网址了, centos 系统优 ...

  4. 系统重装助手教你如何在Microsoft Edge中恢复“关闭所有选项卡”警告

    在Microsoft Edge中,当您打开多个选项卡时,浏览器将显示“您要关闭所有选项卡吗?” 警告,以防止您意外关闭重要标签. 通常,在没有第二个想法的情况下,您会立即禁用此功能,检查提示中的“始终 ...

  5. Linux新系统的安全优化和内核参数优化

    拿到一个新的linux系统需要做的安全和内核优化,主要是为了提升系统安全和提升性能,满足后续的应用需要.这里简单记录一下拿到一个新的系统需要做的一些事情,仅此抛砖引玉,具体可根据自己实际情况进行设置. ...

  6. 牛腩新闻系统(一)——UML、数据库设计

    牛腩新闻系统(一)--UML.数据库设计 一.初识牛腩系统 牛腩(Brisket)即牛腹部及靠近牛肋处的松软肌肉,是指带有筋.肉.油花的肉 块.这是一种统称. 若依部位来分,牛身上很多地方的肉都能够叫 ...

  7. SqlHelper助手

    正在机房重构中,自己一直在摸索,刚开始听说SqlHelper只是感觉很高深,都不知道是用来做什么用的,只是看见别人的博客上写的可以用来帮助连接数据库.但自己没有什么特别的感觉,就认真的去查阅资料来具体 ...

  8. Linux学习之六-Linux系统的基础优化

    Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...

  9. 以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

    背景 字节跳动 Data Catalog 产品早期,是基于 LinkedIn Wherehows 进行二次改造,产品早期只支持 Hive 一种数据源.后续为了支持业务发展,做了很多修修补补的工作,系统 ...

随机推荐

  1. 使用派生镜像(qcow2)

    当创建的虚拟机越来越多,并且你发现好多虚拟机都是同一个操作系统,它们的区别就是安装的软件不大一样,那么你肯定会希望把他们公共的部分提取出来,只保存那些与公共部分不同的东西,这样镜像大小下去了,空间变多 ...

  2. rsync同步本地和服务器之间的文件

    同步本地文件到服务器 rsync -zvrtopg --progress --delete test -e 'ssh -p 6665' yueyao@172.16.0.99:/media/sdb/us ...

  3. oracle 常用sql 经典sql函数使用 sql语法

    各种树操作, 用来查询表中带有子父节点的信息 Oracle 树操作(select-start with-connect by-prior) select m.org_id from sm_organ ...

  4. Spyder中代码提示功能添加

    问题描述:Spyder中编写python程序时,无函数智能提示.如想要输入np.reshape,无reshape提示 预期目标:输入 np.  然后智能提示reshape 解决方法: 第一步:进入本地 ...

  5. Hello World详解

    Hello World 题目 [题目描述] 输出“Hello World!”(不输出“”). [输入格式] 啥都没有. [输出格式] Hello World! [数据规模] 输出就行了,管那么多干什么 ...

  6. http,ftp服务的安装

    首先,要配置云源(在我上一篇博客中有云源配置的详细过程) 一.http服务的安装 1.安装 http   yum install -y httpd 2.启动http服务  systemctl  sta ...

  7. ~request库的使用

    官方文档: (中文)http://cn.python-requests.org/zh_CN/latest/ (英文)https://2.python-requests.org//en/master/a ...

  8. AS3动画效果常用公式

    缓动公式: sprite.x += (targetX – sprite.x) * easing;//easing为缓动系数变量 sprite.y += (targetY – sprite.y) * e ...

  9. php json_encode() 中文保留

    这几天遇到了一个问题 给java传json的时候  没有处理中文  那边拿数据的时候说不是中文的  需要转一下 方法: 实际应用中,当有中文字符时,当直接使用json_encode() 函数会使汉字不 ...

  10. Codeforces-975C - Valhalla Siege 前缀和 思维

    C. Valhalla Siege time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...