新闻发布系统后台

作为第一个进行的Web系统,新闻发布系统的后台代码和之前编写的机房没有太大的区别,下面主要通过SQLHelper()方法的创建和重构总结下新闻系统的后台。

首先是画用例图、类图、进行数据库的设计!这里不做详细说明每个系统开始的工作。然后编写D层代码SQLHelper(),以ExecuteNonQuery()方法来简单描述SQLHelper()的几次重构

1.主要结构

原来是针对单个的一个功能写一个方法,这里将方法的主要结构拿出,通过传入sql语句来执行类似的操作。

public int ExecuteNonQuery(string sql)

{

string connStr ="server=liangliangPC;database=newssystem;user id=sa;password=123456";

SqlConnection conn = newSqlConnection(connStr);

conn.Open();

SqlCommand cmd = newSqlCommand(sql, conn);

int res = cmd.ExecuteNonQuery();

conn.Close();

return res;

}

2.抽取共同点

sqlhelper()中的几个方法,将实例化SqlCommand等相同的内容抽出来。

SqlConnection链接字符串以配置文件的方式实现。

使用try  catch语句块或using(),using()当函数的中的内容执行完毕之后自动关闭数据库连接释放资源。

public int ExecuteNonQuery(string sql)

{

int res;

try

{

cmd = new SqlCommand(sql,GetConn());

res = cmd.ExecuteNonQuery();

}

catch (Exception ex)

{

throw ex ;

}

finally

{

if (conn.State ==ConnectionState.Open)

{

conn.Close();

}

}

return res;

}

3.添加参数

主要是防止sql注入,关于sql注入的问题,新闻系统中只是讲解了拼接字符串的方式,其他的方式有兴趣的话可以在网上搜索哈!

public int ExecuteNonQuery(stringsql,  SqlParameter[] paras)

{

int res;

using (cmd = new SqlCommand(sql ,GetConn()))

{

cmd.Parameters.AddRange(paras);

res = cmd.ExecuteNonQuery();

}

return res;

}

4.存储过程和触发器

sql语句的另一种实现方式,只是他们写在数据库中

使用的时候通过调用名称,代码中添加 cmd.CommandType
=CommandType.StoredProcedure;即可

public int ExecuteNonQuery(stringcmdText, CommandType ct, SqlParameter[] paras)

{

int res;

using (cmd = new SqlCommand(cmdText, GetConn()))

{

cmd.Parameters.AddRange(paras);

cmd.CommandType = ct;

res = cmd.ExecuteNonQuery();

}

return res;

}

总结:在通过对SQLHelper()的几次重构中完成了新闻后台代码!关于存储过程和触发器已经有人写过不少博客就不在描述了,重点还是sql语句的使用。

时间: 2024-10-14 15:12:24

新闻发布系统后台的相关文章

牛腩新闻发布系统后台开发总结

在牛腩的前1-17集视频中,详细讲述了新闻发布系统的开发流程,在视频中还实现了代码的编写和调试.就我自己的感受来看,视频中讲的内容都在机房收费系统中运用或见识过,不是新的东西.但是以前对这些知识的理解都是阶段式的,在牛腩视频中,把这些知识都串联了起来,形成了一个整体,即为融会贯通,总结为下图: 这里面既有软件工程的内容,也有数据库的知识,开发新闻发布系统用的是三层的架构,ASP.NET的编程语言,在视频中还用到了简单工厂设计模式,这些都是学过的知识,是对CS知识的总结和运用,理解起来也没有什么问

asp编程实例:用文本+ASP打造新闻发布系统2

〈% dim myfso,myread set myfso=createobject("scripting.filesystemobject") set myread=myfso.opentextfile(server.mappath("./new_list.asp"),1,0) if myread.atendofstream then Response.Write "目前没有添加新闻" Response.End else dim mytext,

asp编程实例:用文本+ASP打造新闻发布系统1

//图片上传 〈SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT〉 Function GetUpload(FormData) Dim DataStart,DivStr,DivLen,DataSize,FormFieldData '分隔标志串(+CRLF) DivStr = LeftB(FormData,InStrB(FormData,str2bin(VbCrLf)) + 1) '分隔标志串长度 DivLen = LenB(DivStr) PosOpenBoundary

牛腩新闻发布系统之后台开发流程

最近一直在看牛腩老师的新闻发布系统视频,牛老师的广西话深深地印在我的脑海里,这三句话尤为深刻 "也就这么回事"."然后的话"."这是什么鬼东西".第一次了解了WEB 开发,今天先说说在这个系统中后台开发的部分.后台开发流程和其他项目也没什么大的区别,这个系统更简单一些. 写文档画图 对于任何一个项目开发,写文档都是必要的第一步,尤其是这四个文档很重要:需求说明书.数据库设计.概要设计.详细设计.但是牛老师一个软件设计说明书就全搞定了,这是因为这个

安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基于上篇文章基础之上进行深入学习的.程序员带你学习安卓开发-XML文档的创建与解析 Sqlite数据库: Sqlite数据库是在安卓中使用较广泛的数据库.其为简单.轻巧的Sql类文件型数据库.因以简单的文本形式保存,所以安全性不是很高.只要拿到sqlite数据库文件就可以得到数据.所以这就决定了sql

牛腩新闻发布系统概要

开始了B/S项目学习,第一个学习内容就是开发新闻发布系统,跟着牛腩老师的视频学习有几天了,在这个过程 中也积累了点知识,在这里把新闻发布系统的一个轮廓叙述一下了. 系统说明 1.系统的整体功能 就是能够实现后台人员添加新闻,在前台可以浏览新闻并发表评论 2.功能图 3.数据库设计图 4.建表 --建立数据库 create database newssystem --建立类别表 create table category ( id int identity(1,1) primary key, [n

浅谈牛腩新闻发布系统

结束了漫长的C/S之旅,跨入B/S的学习,一切又是崭新的,充满希望. B/S的学习首先接触的便是牛腩老师的新闻发布系统,看了这么多年的网页终于要自己来编写一个网页了着实还是让我小小激动了一把.但是敲这个系统的时候总是有一种走迷宫,迷迷茫茫的感觉,什么跟什么啊... 于是,我机智的决定我要先把视频看一遍,至少要看一多半,至少得让我直到这个系统大概的框架吧.看了一半多终于形成了一个模糊的框架: 牛腩新闻发布系统分为前台和后台两部分,个人理解其实就像我们机房收费的UI层和B,D层的关系,前台负责显示给

牛腩新闻发布系统总结(四)--知识点滴

紧接上篇博客:牛腩新闻发布系统总结(三)----知识点滴,继续我们的总结: 第五,在回复评论后如何保持滚动条的位置不变: <%@ Page Title="新闻内容-牛腩新闻发布系统" Language="C#" MasterPageFile="~/common.Master" AutoEventWireup="true" CodeBehind="newsContent.aspx.cs" Inherit

牛腩新闻发布系统-验证码搞通了吗?详细注释-秒懂

牛腩新闻发布系统添加新闻和登录界面用到了验证码,生活中经常遇到形形色色的验证码,数字和字母的,12306图片形式的,百度贴吧文字形式的等等.当时见得时候感觉很神奇,现在刚好学到了,感觉很有意思,接触了BS之后,越来越多的网页神秘的内容,会慢慢的被了解,这种渴望的感觉特别棒.见到了自己喜欢的那就应该认真的分析,理解验证码的产生,这里说的是数字和字母类型的,从简单的入手. 什么是验证码,它是干什么的? 验证码:是一种区分用户是计算机还是人的公共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水,有效