数据库应用课程设计报告

时间:2024.4.20

课程设计报告

( 2012 -- 2013 年度第 1 学期)

名 称: 数据库应用课程设计 题 目: 院 系: 计算机科学与技术学院 班 级: 计算1203班 学 号: 学生姓名: 指导教师: 设计周数: 一周

成 绩:

日期:20xx年 1 月 06 日

课程设计报告

一、课程设计的目的与要求

随着互联网的进一步深入到千家万户,网络已经成为人们获取信息、推销自我主要平台。博客(web log)作为一种网络进化的产物,因其傻瓜式的信息发布方式,内容的多样化及新颖化,被越来越多的人所接受和使用。本次数据库应用课程设计正是基于此出发,其主要任务就是设计一个博客管理系统(即博客网站),旨在为喜欢博客的用户提供一个表现自我,展现自我的平台。本次平台采用Windows2003作为操作系统,使用 Microsoft SQL Server2000搭建数据库,使用Microsoft Visual Studio .Net作为软件开发平台,用C#语言最为编程语言。

并且,通过此次针一具体的数据库应用课题的设计与编程,我们不但掌握了数据库系统应用程序开发与设计的基本方法和一般过程,巩固所学国的理论知识,而且还锻炼了自己的编程能力,培养了团队协作能力,进一步加强和提高软件工程文档的编写能力,为以后在数据库技术领域的学习打下了基础。

二、设计正文

1. 概述

1.1 课题概要

“博客”(Blog或Weblog)一词源于“Web Log(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。让任何人都可以像免费电子邮件的注册、写作和发送一样,完成个人网页的创建、发布和更新。本次课程设计的任务就是设计一个博客网站,旨在为喜欢博客的用户提供一个表现自我,展现自我的平台,所有在该网站上通过注册的用户都可以拥有自己的博客。在其中,你可以发表自己喜欢的文章、个人的成长历程、生活点滴,和大家一起分享自己的快乐时光;你可以创建自己喜欢的链接,把自己喜欢的网站推荐给大家;也可以上传自己喜欢的图片、文件和大家一起分享;还可以对别人发表的文章发表自己的评论和看法,让大家充分了解你的思想,更可以以文会友,结识和汇聚朋友,进行深度交流沟通。

1.2 系统目标

1)博客系统具有登陆和注册功能,能够根据用户名区分系统管理员与一般的博客用户.没有登陆

的游客能够阅读在博客用户发表的文章并能够发表跟贴.

2)博客系统应为博客用户提供文章管理的功能,包括发表文章,编辑文章,删除文章等.

3)博客系统应为博客用户提供评论(跟贴)管理功能,包括显示评论发表的时间、评论的内容、

发表评论的用户名以及删除其他用户所发表的评论.

4)博客系统应为博客用户提供链接管理功能, 包括博客用户可以管理自定义的链接,包括发布

新的链接,编辑已有的链接及删除链接。

5) 博客系统应为博客用户提供文件上传功能, 包括博客用户可以上传自己喜欢的文件,下载已

上传的文件,删除已上传的文件的。在该页面中,还可以显示已使用的空间。

1

课程设计报告

6) 博客系统应为博客用户提供文章分类管理功能,包括博客用户可以删除已有的分类、创建新的

分类、编辑已有的分类。

7) 博客系统应为博客用户提供用户管理功能包括修改博客用户的密码、个人的注册信息、修改

自己博客的主标题、副标题以及文章显示的格式。

8)博客系统应为系统管理员提供对博客用户管理功能,包括删除特定用户和文章. 1.3

开发运行环境

1)本次课设使用的操作系统是windows2003 2)使用的建模工具是Rational Rose

3)使用 Microsoft SQL Server2000搭建数据库

4)使用的软件开发平台是Microsoft Visual Studio .Net,用C#语言进行编程 2. 系统需求分析

总体来说,博客的主要功能是为大家发表言论提供一种工具,博客的主人可以在自己的博客上书写自己的一些见闻感想,而浏览博客的人则可以对这些文章进行评述,当然他们也可以申请拥有自己的博客。我们的博客系统主要是为那些想享有自己博客的人提供一种环境,建造一个博客的平台。 其中,作为博客管理系统的管理员,可以删除用户,删除文章,以及对用户进行管理。而作为博客系统的用户可以在自己的博客上进行文章的发布、删除、编辑,以及上传文件、图片,发表评论、创建链接和对自己博客界面进行设置。 系统的总体设计图如下:

数据库应用课程设计报告

2

数据库应用课程设计报告

数据库应用课程设计报告

课程设计报告

3. 详细设计

3.1 数据设计

根据功能设计的要求以及问题域子系统的划分,对于本系统的数据库,可以列出以下数据项和数据结构:

本系统的数据库共分为7个表:

Users表:用户表

? Username: 用户名,varchar型.

? Password: 密码,varchar型.

? Usernick: 昵称,varchar型.

? Useremail:邮箱,varchar型。

? Userquestion:取回密码的问题,varchar型。

? Useranswer:取回密码所需的答案,varchar型。

Links表:连接表

? Id:编号,int型。

? Title:题目,varchar型。

? Description:描述,varchar型。

? Username:用户名,varchar型。

? Linkurl:连接地址,varchar型。

Files表:文件表

? Username:用户名, varchar型。

? Filename: 文件名,varchar型。

? Filetype:文件类型,varchar型。

? Filelength:文件长度,int型。

? Updatetime:更新时间,varchar型。

? Id:编号,int型。

Feedbacks表:意见表

? Articleid:文件编号,int型。

? Readername:读者姓名,varchar型。

? Feedbackcontent:意见内容,varchar型。

? Datatime:意见发表时间,varchar型。

? Id:编号,int型。

? Username:用户(版主)姓名,varchar型。

? Articlename:文件标题,varchar型。

Categories表:类型表

3

课程设计报告

? Username: 用户(版主)姓名,varchar型.

? Category:类型,varchar型。

? Id:编号,int型。

? Description: 具体描述,varchar型。

Blogs表:博客表

? Username:用户(版主)姓名,varchar型.

? Blogtitle:博客的标题, varchar型.

? Notice:公告,varchar型.

? Tag:标识,varchar型.

? Subtitle:子标题,varchar型.

? Id:编号,int型。

? Views:观看的次数,int型。

? Description:描述,varchar型.

Articles表:文章表

? Username:作者,varchar型.

? Id:编号,int型。

? Content:文章内容,varchar型.

? Tag:标识,varchar型.

? Categoryid:类别号,int型。

? Uptime:更新时间,varchar型.

? Title:文章标题,varchar型.

Views:观看次数,int 型。

3.2 帐号管理和验证设计

博客系统为客户提供博客平台,允许用户通过博客平台与博客访问者共享知识和交流思想,这些功能的实现都依赖于博客系统可以标示出用户,确定用户的权限。因此,博克系统必须能够验证用户,防止其他人盗用他人的名义发表内容。为此需要创建和维护用户帐号,并且能够通过帐号正确的标识用户。

博客系统权限策略是这样的,它接受匿名用户的访问,直到用户需要访问特定的资源,或者访问后台管理系统,才要求客户提供密码,进行登陆。为此,我们需要创建一些组件构造用户验证和安全模块。首先要提供登陆画面,后台帐号管理画面和在系统中表示用户的问候语。

4

课程设计报告

下面的活动图显示用户登陆过程:

数据库应用课程设计报告

下面的活动图演示用户注册帐号的基本流程:

数据库应用课程设计报告

系统管理员登录后,与一般博客用户登录不同,他进入的是博客帐号管理页面,他要进行的工作是管理博客帐号并删除不合格的博客帐号,下面的活动图演示的是博客帐号管理的基本流程:

数据库应用课程设计报告

5

课程设计报告

数据库应用课程设计报告

用户登录后,都可以对自己的帐号信息及密码进行修改。

下面的活动图就是密码及帐号的修改流程:

数据库应用课程设计报告

3.3 文章管理系统设计 在文章管理系统系统中,博客用户可以发布自己喜欢的文章、随笔、个人的感悟等,并把发布的文章放到特定的分类中,并且,用户还可以查看、编辑、删除已发布的文章。

文章管理的流程图如下:

课程设计报告

3.4 评论管理系统设计

在评论管理系统中,博客用户可以管理其他用户对自己发布的文章所发表的评论,包括评论发表的时间、评论的内容、发表评论的用户名。并且,博客用户还可以删除其他用户所发表的评论。评论管理系统的流程图如下:

3.5 链接管理系统设计 在链接管理系统中,博客用户可以管理自定义的链接,包括发布新的链接,编辑已有的链接及删除链接。链接管理系统的流程图下:

数据库应用课程设计报告

7

数据库应用课程设计报告

课程设计报告

3.6 文件上传系统设计

在文件上传系统中,博客用户可以上传自己喜欢的文件等。在该页面中,还可以显示已使用的空间。

3.7 文章分类管理设计

在文章功能管理系统中,博客用户可以按自己的喜好给自己发表的文章进行分类。其功能包括删除已有的分类、创建新的分类、编辑已有的分类。文章分类系统的流程图如下:

3.8 博客系统管理页面设计 在博客系统管理页面中,已登陆的博客用户可以选择相应的操作,如文章管理、评论管理、链接管理、文件上传管理。博客系统管理页面把4.2管理内容设计中所包含的各项度集中到一个页面中,一般的博客用户登录后就在该页面上进行对自己的博客进行后台管理。可以说,该页面是整个页面枢纽和核心。

4. 系统具体实现

上面第四部分给出了博客系统的详细设计方法,接下来就详细给出系统的实现方法。

4.1 用户登录功能的实现

用户登录功能是指当用户需要访问特定的资源,或者访问后台管理系统,要求客户提供密码时提供登录。

用户登录的后台关键代码如下:

public void Login(object sender, EventArgs e)

数据库应用课程设计报告

8

课程设计报告

{

SqlConnection connectionUser;

SqlCommand commandUserName;

SqlCommand commandPassword;

string sqlCommandUserName = "SELECT Count(username) FROM users WHERE

username='" + txtUserName.Text.ToString() + "'";

string sqlCommandPassword = "SELECT password FROM users WHERE username='" +

txtUserName.Text.ToString() + "'";

connectionUser =

SqlConnection(@"server=localhost;UID=sa;PWD=ntjschenpo;database=AMS");

connectionUser.Open();

commandUserName = new SqlCommand(sqlCommandUserName, connectionUser); if (commandUserName.ExecuteScalar().ToString() != "0")

{

commandPassword = new SqlCommand(sqlCommandPassword, connectionUser); if (txtPassword.Text.ToString().Trim()

commandPassword.ExecuteScalar().ToString().Trim())

{

if (txtCheckCode.Text.ToLower().ToString().Trim()

Session["sessionCheckCode"].ToString().Trim())

{

Session.Remove("sessionCheckCode");

Session["sessionUserName"] = txtUserName.Text.ToString().Trim();

Response.Redirect("~/admin/Default.aspx");

}

else

{

tabLoginInfo.CssClass = "LoginInfoRed";

labLoginMsg.Text = "The checkcode is wrong!";

txtCheckCode.Focus();

}

}

else

{

tabLoginInfo.CssClass = "LoginInfoRed";

labLoginMsg.Text = "The password is wrong!";

txtPassword.Focus();

}

connectionUser.Close();

}

else

{

connectionUser.Close();

tabLoginInfo.CssClass = "LoginInfoRed";

labLoginMsg.Text = "The username does not exit!";

txtUserName.Focus();

}

9 new == ==

课程设计报告

connectionUser.Close();

}

运行效果截图如下:

4.2 文章管理功能的实现

文章管理功能包括文章的发布、编辑及删除已发布的文章。

其关键的后台代码如下

删除已发布的文章关键代码实现:

public void DeleteArticle(object sender, CommandEventArgs e)

{

SqlConnection connectionToServer;

SqlCommand commandToServer;

SqlCommand commandDeleteFeedbacks;

string articleID = e.CommandArgument.ToString().Trim();

string sqlSentence = "Delete articles where id=" + articleID;

string sqlDeleteFeedbacks = "DELETE feedbacks WHERE articleID=" + articleID;

connectionToServer=newSqlConnection("server=localhost;database=AMS;uid=sa;password=

ntjschenpo; ");

commandToServer = new SqlCommand(sqlSentence, connectionToServer);

commandDeleteFeedbacks = new SqlCommand(sqlDeleteFeedbacks, connectionToServer); connectionToServer.Open();

commandToServer.ExecuteNonQuery();

commandDeleteFeedbacks.ExecuteNonQuery();

connectionToServer.Close();

Response.Redirect("Default.aspx");

}

发布新文章部分代码实现

public void CreateNewArticle(object sender,EventArgs e)

{

数据库应用课程设计报告

SqlConnection connectionToServer;

10

课程设计报告

SqlCommand commandToServer;

string sqlSentence = "INSERT articles(title,tag,content,categoryID,username,uptime)

VALUES(@title,@tag,@content,@categoryID,@username,@uptime)";

connectionToServer = new

SqlConnection("server=localhost;database=AMS;uid=sa;password=ntjschenpo;");

commandToServer = new SqlCommand(sqlSentence, connectionToServer);

commandToServer.Parameters.Add("@title", @txtTitle.Text.ToString().Trim());

commandToServer.Parameters.Add("@tag", @txtTag.Text.ToString().Trim());

commandToServer.Parameters.Add("@content", @txtContent.Value.ToString().Trim());

for (int i = 0; i < rdblCategories.Items.Count; i++)

{

if (rdblCategories.Items[i].Selected == true &&

rdblCategories.SelectedItem.Text.ToString().Trim() != "None")

{

categoryID = Convert.ToInt32(rdblCategories.SelectedItem.Value); break;

}

else

{

categoryID = 0;

}

}

commandToServer.Parameters.Add("@categoryID", categoryID);

commandToServer.Parameters.Add("@username",Session["sessionUserName"]);

commandToServer.Parameters.Add("@uptime",System.DateTime.Now);

connectionToServer.Open();

commandToServer.ExecuteNonQuery();

connectionToServer.Close();

Response.Redirect("Default.aspx");

}

编辑已发布的文章部分代码实现:

public void UpdateArticle(object sender, CommandEventArgs e)

{

string id = e.CommandArgument.ToString().Trim();

SqlConnection connectionUpdate;

SqlCommand commandUpdate;

string sqlUpdate = "UPDATE articles SET title=@title, tag=@tag,content=@content,

categoryID=@categoryID,uptime=@time WHERE id=" + id;

connectionUpdate = new SqlConnection("server=localhost;uid=sa;pwd=ntjschenpo;database=AMS");

commandUpdate = new SqlCommand(sqlUpdate, connectionUpdate);

commandUpdate.Parameters.Add("@title", @txtTitle.Text.ToString().Trim());

commandUpdate.Parameters.Add("@tag", @txtTag.Text.ToString().Trim());

commandUpdate.Parameters.Add("@content", @txtContent.Value.ToString().Trim());

for (int i = 0; i < rdblCategories.Items.Count; i++)

{

if (rdblCategories.Items[i].Selected == true &&

rdblCategories.SelectedItem.Text.ToString().Trim() != "None")

{

11

课程设计报告

categoryID = Convert.ToInt32(rdblCategories.SelectedItem.Value); break;

}

else

{

categoryID = 0;

}

}

commandUpdate.Parameters.Add("@categoryID", categoryID);

commandUpdate.Parameters.Add("@time", System.DateTime.Now);

connectionUpdate.Open();

commandUpdate.ExecuteNonQuery();

connectionUpdate.Close();

butUpdate.CommandArgument = id;

Response.Redirect("Default.aspx");

}

运行效果截图如下:

4.3 评论(跟贴)管理功能的实现

评论管理功能包括显示评论发表的时间、评论的内容、发表评论的用户名以及删除其他用户所发表的评论。其关键的后台代码如下:

删除特定的评论部分代码实现:

public void dagFeedbackList_Delete(object sender, DataGridCommandEventArgs e)

{

SqlConnection connectionDeleteFeedback;

SqlCommand commandDeleteFeedback;

string strDeleteFeedback;

strDeleteFeedback = "DELETE feedbacks WHERE id='" + e.Item.Cells[0].Text + "'";

connectionDeleteFeedback = new SqlConnection("server=localhost; database=AMS;

uid=sa;pwd=ntjschenpo");

connectionDeleteFeedback.Open();

commandDeleteFeedback = new SqlCommand(strDeleteFeedback, connectionDeleteFeedback); commandDeleteFeedback.ExecuteNonQuery();

数据库应用课程设计报告

connectionDeleteFeedback.Close();

12

课程设计报告

FeedbackList(strSort);

}

查找特定文章的跟贴部分代码实现:

protected void SearchFeedback(object sender, EventArgs e)

{

SqlConnection connectionSearchFeedback;

SqlDataAdapter dadSearchFeedback;

DataSet dstSearchFeedback;

string strSearchFeedback = "";

if (drpSearchContent.SelectedValue == "1")

{

strSearchFeedback = "SELECT * FROM feedbacks,articles WHERE feedbacks.username='" +

Session["sessionUserName"] + "' AND feedbacks.articleID=articles.id AND

articles.username='" + Session["sessionUserName"] + "' AND articletitle like '%" +

txtSearchFeedback.Text.ToString().Trim() + "%'";

}

else if (drpSearchContent.SelectedValue == "2")

{

strSearchFeedback = "SELECT * FROM feedbacks,articles WHERE feedbacks.username='" +

Session["sessionUserName"] + "' AND feedbacks.articleID=articles.id AND

articles.username='" + Session["sessionUserName"] + "' AND readername like '%" +

txtSearchFeedback.Text.ToString().Trim() + "%'";

}

else if (drpSearchContent.SelectedValue == "3")

{

strSearchFeedback = "SELECT * FROM feedbacks,articles WHERE feedbacks.username='" +

Session["sessionUserName"] + "' AND feedbacks.articleID=articles.id AND

articles.username='" + Session["sessionUserName"] + "' AND feedbackcontent like '%" +

txtSearchFeedback.Text.ToString().Trim() + "%'";

}

connectionSearchFeedback = new

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo");

dadSearchFeedback = new SqlDataAdapter(strSearchFeedback, connectionSearchFeedback); dstSearchFeedback = new DataSet();

dadSearchFeedback.Fill(dstSearchFeedback);

dagFeedbackList.DataSource = dstSearchFeedback;

dagFeedbackList.DataBind();

}

运行效果截图如下:

13

课程设计报告

4.4 链接管理功能的实现

在链接管理系统的主要功能包括博客用户可以管理自定义的链接,包括发布新的链接,编辑已有的链接及删除链接。其关键的后台代码如下:

创建新链接部分代码实现:

protected void addNewLink(object sender, EventArgs e)

{

SqlConnection connectionAddNewLink;

SqlCommand commandAddNewLink;

string strAddNewLink;

strAddNewLink = "INSERT links(title,description,linkURL,username)

VALUES(@title,@description,@linkURL,@username)";

connectionAddNewLink =

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo");

commandAddNewLink = new SqlCommand(strAddNewLink, connectionAddNewLink);

commandAddNewLink.Parameters.Add("@title", txtLinkTitle.Text.ToString().Trim());

commandAddNewLink.Parameters.Add("@description", txtDescription.Text.ToString().Trim()); commandAddNewLink.Parameters.Add("@linkURL",txtURL.Text.ToString().Trim());

commandAddNewLink.Parameters.Add("@username",Session["sessionUserName"]);

connectionAddNewLink.Open();

commandAddNewLink.ExecuteNonQuery();

connectionAddNewLink.Close();

Response.Redirect("EditLinks.aspx");

}

编辑已有链接部分 代码实现

protected void dlstLinkList_UpdateCommand(object sender, DataListCommandEventArgs e)

{

string strID = e.CommandArgument.ToString().Trim();

TextBox txtEditTitle = (TextBox)e.Item.FindControl("txtEditLinkTitle");

TextBox txtEditDescription = (TextBox)e.Item.FindControl("txtEditDescription");

TextBox txtEditURL = (TextBox)e.Item.FindControl("txtEditURL");

SqlConnection connectionUpdateLink;

SqlCommand commandUpdateLink;

string strUpdateLink;

strUpdateLink = "UPDATE links SET title=@title,description=@description,linkURL=@linkURL

WHERE username='" + Session["sessionUserName"] + "' AND id=" + strID;

connectionUpdateLink =

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo");

commandUpdateLink = new SqlCommand(strUpdateLink,connectionUpdateLink);

commandUpdateLink.Parameters.Add("@title",txtEditTitle.Text.ToString().Trim());

commandUpdateLink.Parameters.Add("@description",txtEditDescription.Text.ToString().Trim()); commandUpdateLink.Parameters.Add("@linkURL",txtEditURL.Text.ToString().Trim());

connectionUpdateLink.Open();

commandUpdateLink.ExecuteNonQuery();

connectionUpdateLink.Close();

dlstLinkList.EditItemIndex = -1;

panAddNew.Visible = true;

14 new new

课程设计报告

LinkList();

}

删除已有链接部分 代码实现:

protected void dlstLinkList_DeleteCommand(object sender, DataListCommandEventArgs e)

{

string strID = e.CommandArgument.ToString().Trim();

SqlConnection connectionDeleteLink;

SqlCommand commandDeleteLink;

string strDeleteLink;

strDeleteLink = "DELETE links WHERE username='" + Session["sessionUserName"] + "' AND

id=" + strID;

connectionDeleteLink = new

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo");

commandDeleteLink = new SqlCommand(strDeleteLink, connectionDeleteLink);

connectionDeleteLink.Open();

commandDeleteLink.ExecuteNonQuery();

connectionDeleteLink.Close();

LinkList();

}

运行效果截图如下:

4.5 文件上传功能的实现

在文件上传系统的功能包括博客用户可以上传自己喜欢的文件,下载已上传的文件,删除已上传的文件的。在该页面中,还可以显示已使用的空间。其关键的后台代码如下:

上传文件部分具体代码实现

public void FileUpload(object sender, EventArgs e)

{

string strFilePath = "C:\\uploadfile\\" + inpFile.PostedFile.FileName;

string strContentType = inpFile.PostedFile.ContentType;

inpFile.PostedFile.SaveAs(strFilePath);

strCheckFile = "SELECT filename FROM files WHERE username='"

Session["sessionUserName"] + "' AND filename='" + inpFile.PostedFile.FileName + "'";

connectionFileUpload =

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo;");

commandCheckFile = new SqlCommand(strCheckFile, connectionFileUpload);

connectionFileUpload.Open();

数据库应用课程设计报告

datareaderCheckFile = commandCheckFile.ExecuteReader();

15 + new

课程设计报告

}

删除文件部分具体代码实现

public void DeleteFile(object sender, CommandEventArgs e)

{

strDeleteFile = "DELETE files WHERE username='" + Session["sessionUserName"] + "' AND

id='" + strFileID + "'";

strDeleteLocalFile = "SELECT filename FROM files WHERE username='" +

Session["sessionUserName"] + "' AND id='" + strFileID + "'";

connectionDeleteFile = new

SqlConnection("server=localhost;database=AMS;uid=sa;pwd=ntjschenpo;");

commandDeleteFile = new SqlCommand(strDeleteFile, connectionDeleteFile);

commandDeleteLocalFile = new SqlCommand(strDeleteLocalFile, connectionDeleteFile); connectionDeleteFile.Open();

System.IO.File.Delete("D:\\My Documents\\Visual Studio 2005\\WebSites\\AMS\\uploadfiles\\" +

commandDeleteLocalFile.ExecuteScalar());

commandDeleteFile.ExecuteNonQuery();

connectionDeleteFile.Close();

Response.Redirect("UpLoadFile.aspx");

}

下载文件部分具体代码实现

public voi d DownloadFile(object sender, CommandEventArgs e)

{

string strID = e.CommandArgument.ToString().Trim();

string strURL = "~/uploadfiles/" + strID;

Response.Redirect(strURL);

}

运行效果截图如下:

4.6 文章分类管理功能的实现

在文章功能管理系统的功能包括博客用户可以删除已有的分类、创建新的分类、编辑已有的分类。其关键的后台代码如下:

增加新的文章能够分类:

protected void addNewCategory(object sender, EventArgs e)

{

string strconnection = "server=localhost;database=AMS;uid=sa;password=ntjschenpo;";

数据库应用课程设计报告

SqlConnection conn = new SqlConnection(strconnection);

16

课程设计报告

string straddnew = "INSERT categories

(@username,@category,@description)"; (username,category,description) values

SqlCommand cmdAddNewCategory = new SqlCommand(straddnew, conn);

cmdAddNewCategory.Parameters.Add("@username", Session["sessionUserName"]);

cmdAddNewCategory.Parameters.Add("@category", txtCategorieTitle.Text.ToString().Trim()); cmdAddNewCategory.Parameters.Add("description",

txtCategorieDescription.Text.ToString().Trim());

conn.Open();

}

查看已有的文章分类:

public void ViewCategoriesList()

{

string strconnection = "server=localhost;database=AMS;uid=sa;password=ntjschenpo;";

SqlConnection conn = new SqlConnection(strconnection);

string strCategoriesList = "select * from categories where username='" +

Session["sessionUserName"].ToString().Trim() + "'";

SqlCommand cmdCategoriesList = new SqlCommand(strCategoriesList, conn);

SqlCommand cmdCategories = new SqlCommand(strCategoriesList, conn);

conn.Open();

SqlDataReader dtrCategories = cmdCategories.ExecuteReader();

dlstCategories.DataSource = dtrCategories;

dlstCategories.DataBind();

dtrCategories.Close();

conn.Close();

}

编辑已有的分类:

protected void dlstCategories_DeleteCommand(object sender, DataListCommandEventArgs e) {

string strconnection = "server=localhost;database=AMS;uid=sa;password=ntjschenpo;";

SqlConnection conn = new SqlConnection(strconnection);

string strDeleteCategory = "Delete categories where username='" + Session["sessionUserName"] +

"' and id='" + strCategoryID + "'";

string strDeleteArticleCategoryID = "UPDATE articles SET categoryID=0 WHERE username='" +

Session["sessionUserName"] + "' and categoryID='" + strCategoryID + "'";

SqlCommand cmdDeleteCategory = new SqlCommand(strDeleteCategory, conn);

SqlCommand cmdDeleteArticleCategoryID = new SqlCommand(strDeleteArticleCategoryID, conn);

conn.Open();

cmdDeleteArticleCategoryID.ExecuteNonQuery();

cmdDeleteCategory.ExecuteNonQuery();

conn.Close();

}

删除已有的分类:

protected void dlstCategories_UpdateCommand(object sender, DataListCommandEventArgs e) {

string strconnection = "server=localhost;database=AMS;uid=sa;password=ntjschenpo;";

17

课程设计报告

SqlConnection conn = new SqlConnection(strconnection);

string strUpdateCategory = "UPDATE categories SET category=@category where username='" +

Session["sessionUserName"] + "' and id='" + strCategoryID + "'";

SqlCommand cmdUpdateCategory = new SqlCommand(strUpdateCategory, conn);

cmdUpdateCategory.Parameters.Add("@category", txtTitle.Text.ToString().Trim());

}

运行效果截图如下:

4.7 博客系统管理页面的实现

在博客系统管理页面中,已登陆的博客用户可以选择相应的操作,如文章管理、评论管理、链接管理、文件上传管理。博客系统管理页面把4.2管理内容设计中所包含的各项度集中到一个页面中,一般的博客用户登录后就在该页面上进行对自己的博客进行后台管理。可以说,该页面是整个页面枢纽和核心。

其运行效果如下:

数据库应用课程设计报告

18

课程设计报告

三、课程设计总结或结论

通过此次数据库的课程设计练,我们练习了数据库系统的安装与设置以及数据库应用程序开发工具的安装。并且根据具体的课题——博客管理系统——进行了需求分析,并对数据库应用系统进行了逻辑设计及创建数据库、数据表,并且利用当前主流的编程开发工具.net和C#语言,按照软件工程的基本要求来进行设计和系统的开发,实现了当前主流博客的基本功能。而且,通过此次课程设计,学习和实践了在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识,进一步加强和提高了对软件工程文档的编写能力,还培养了协作能力和团队精神。

四、参考文献

[1] 萨师煊,王珊?数据库系统概论. 高等教育出版社, 第3版. 20xx年2月

[2] 黄维通? SQL Server 2000简明教材. 清华大学版社, 第1版. 20xx年3月

[3] 郑阿奇,顾韵华? ASP.NET实用教程. 电子工业出版社, 第1版. 20xx年3月

[4] Stephen Walther,汤涛.中国电力出版社,第二版.2004

[5] 张海藩.人民邮电出版社,第一版.2003

[6] 张海藩,牟永敏.面向对象程序设计实用教程.清华大学出版社,第三版.2001

[7] Roger S.Schach.Software Engineering——A Practitioner’s Approach, Fourth Edition,1997

[8] 蒋慧.UML设计核心技术.北京希望电子出版社,2001

[9] Ryan Asleson,Nathaniel T.Schutta,金灵.Ajax基础教程.人民邮电出版社,2006

[10] NicholasC.Zakas,Jeremy McPeak,Joe Fawcett,徐锋.Ajax高级程序设计,2006

19

更多相关推荐:
数据库应用技术课程设计报告

数据库应用技术课程设计报告学院高职院专业计算机应用班级096192姓名刘丰丰学号指导老师魏老师第一章系统分析本学生成绩管理系统可以说是一个综合性的学校学生管理系统这它集成了学生信息管理学生成绩管理用户权限管理等...

数据库应用课程设计报告书

数据库应用课程设计报告书超市管理系统成绩学号20xx114120姓名方子君指导教师覃兵文20xx年1月9日课程设计任务书20xx学年学期超市管理系统摘要80100字五号字最初的超市资料管理都是靠人力来完成的但近...

数据库原理及应用课程设计报告

数据库原理及应用课程设计报告商品销售管理系统学院信息工程学院班级学号姓名完成时间201课程设计的任务数据库原理及应用是计算机及其相关学科的一门重要的学科基础课程也是计算机软件科学与技术信息科学与技术的重要学科分...

《数据库应用系统开发》课程设计报告——图书管理系统(后台)

商洛学院数据库应用系统开发课程设计经济与管理学院数据库应用系统开发课程设计设计题目图书管理系统后台专业信息管理与信息系统学号11096101姓名安毅昭指导教师成员魏斌强李强陕西商洛I商洛学院数据库应用系统开发课...

20xx7110130138_王莹_数据库应用课程设计报告书-简短

北京广播电视大学数据库应用课程设计报告书题目小超市进销存管理系统姓名学号班级08春计算机信息管理专业专分校北京广播电视大学分校指导教师设计日期20xx年11月1目录目录2摘要3第一章引言411课题来源412开发...

数据库课程设计报告

计算机与控制工程学院数据库原理及应用课程设计报告题目名称选课系统专业计科班级计1211学号20xx58501149姓名李利娟指导教师毕远伟20xx年01月11日1课程设计评语班级计1211学号20xx58501...

数据库课程设计报告

数据库课程设计报告学号20xx1004357姓名李世荣班级19xx23指导老师胡霍真邮件管理系统摘要21世纪是网络飞速发展的时代电子邮件已经成为热门话题随着网络技术的不断发展网络应用已经渗透到人类社会的各个角落...

数据库课程设计报告格式 电子版

西安邮电大学数据库课程设计报告学院名称专业名称班级学号题目选课系统课程设计计算机学院软件工程软件110404113125郭亚涛乔平安20xx年6月17日学生姓名指导教师时间至20xx年6月30日一课程设计目的1...

Java oracle数据库课程设计报告

南阳理工学院数据库程序设计课程设计报告课题姓名学号同组姓名专业班级指导教师设计时间20xx年6月目录1开发背景32系统描述33数据分析431数据流图432数据字典44概念模型设计941ER图95逻辑模型设计及优...

Java_数据库课程设计报告

数据库程序设计课程设计报告课题学生成绩管理系统姓名学号同组姓名专业班级网工09102指导教师设计时间20xx年9月目录1开发背景32系统描述33数据分析431数据流图432数据字典44概念模型设计941ER图9...

数据库sql应用技术课程设计报告

学号xxxxxxx数据库应用技术课程设计设计说明书起止日期:20xx年xx月xx日至20xx年xx月xx日计算机工程系20##年12月21日课程设计任务书20##2011学年第1学期xx系xx专业xxx班级课程…

SQL数据库应用基础课程设计报告

SQL数据库应用基础课程设计报告,内容附图。

数据库应用课程设计报告(30篇)