一、实训目的和要求1.目的培养学生独立开发一套完整的数据库应用系统的能力。通过完成具体的任务,掌握实际工作中需要的技能和方法。任务配合《ASP.net商务网站设计》、《ADO.NET程序设计》等课程展开,除应用这两门课程的知识外,还会帮助学生强化以前学过的《数据库技术应用》、《计算机语言C#》等课程知识,真正将知识转化为实际的技能。2.要求系统采用B/S或C/S架构,开发网站应用程序或桌面应用程序,后台数据库采用SQLServer2005实现,用ADO.NET技术进行数据库编程。要求学生从信息收集开始,逐步对系统进行需求分析、总体设计、详细设计、编码及调试、系统测试等。具体要求完成如下任务:1、程序中应有不少于200行的自行编写的代码,必须包括数据库编程部分。2、界面美观大方,操作简洁易用,功能完备可靠。3、程序运行稳定可靠,能实现题目中描述的基本功能。4、实训报告符合系文档模板要求。5、能对程序的设计思路或具体代码作出正确的解释。6、提供完整的可运行的源程序(电子版)和实训报告(打印稿)。二、实训内容常见的中小型网站的开发。例如:会员注册系统、图书信息网站、简易购物车、聊天室、论坛、留言本、房屋信息网站、新闻网站、同学录、企业客户管理网站、学生成绩管理、班务管理等,也可是经教师同意的自选题。常见的桌面数据库应用程序的开发。例如:学籍管理系统、人事管理系统、工资管理系统、图书管理系统、设备管理系统、文档管理系统、客房管理系统、试题库管理系统等,也可是经教师同意的自选题。三、实训方式√集中□分散√校内□校外四、实训具体安排实训的前一周布置实训任务,下发实训任务书,进行选题并收集资料。1、6月20日:选题,收集题目相关资料,完成需求分析、数据库设计。2、6月22日:对系统进行总体设计和规划。3、6月24日:对系统进行详细的功能模块设计。4、6月27日:对系统进行修改、调试、测试部署等。5、6月28日:根据设计撰写说明书初稿,不断完善修改。6、6月29日:完成说明书终稿和程序的打包,上交说明书打印稿,刻录光盘。五、实训报告内容实训报告中必须包含:1)需求分析、数据库设计2)总体设计3)详细设计设计报告目录大致结构如下书写(根据实际情况可作相应调整):1)题目介绍2)需求分析3)总体设计4)详细设计5)遇到的主要问题及解决方法6)总结(心得体会)7)参考文献目录一、题目介绍.....................................5二、需求分析.....................................52.1系统功能介绍..................................52.2开发工具介绍..................................5三、总体设计.....................................63.1系统框架设计.................................63.2数据库设计...................................6四、详细设计.....................................74.1数据库的连接..................................74.2模块.........................................8五.遇到的问题及解决方法.........................15六.体会和总结...................................16七.参考文献.....................................16一、题目介绍留言板功能是网站应用程序中最常用的功能之一,也是网站开发应用程序开发常用的功能模块。当用户对某网站或系统有建议时,可以通过留言板对网站管理员或开发者提出。这样可以获得更多宝贵的意见,对网站或系统的进一步完善实现有很大的帮助。二、需求分析2.1系统功能介绍2.2.1查看主题可以查看最近大家在留言板上发表的一些主题。2.2.2发表留言先进行登录,然后在进行留言,提交。2.2.3用户注册先阅读条款,然后确定进入注册页面,用户可以填写用户名,密码,确认密码,性别,主页,Email和QQ,然后提交,这样就注册好了。2.2.4留言管理用户可以登录,然后进行留言的查看回复和删除留言。2.2开发工具介绍该系统为B/S三层结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分。以下是系统的软件环境。(1)客户端操作系统:WindowsXP或更新版本。浏览器:IE6以上,其它常见浏览器如FireFox。(2)应用服务器端操作系统:WindowsXP应用服务器:IIS5.0或更新版本。数据库访问:LINQ。(3)数据库服务器端操作系统:WindowsXP数据库系统:SQLServer2005。所运用到的软件有:SQLServer2008,VisualStudio2010三、总体设计3.1系统框架设计3.2数据库设计3.2.1数据表dbo.tb_User留言信息管理查看主题发表留言用户注册我的留言留言管理留言主题留言内容用户名密码密码确认密码性别Email主页QQdbo.tb_Replydbo.tb_LeaveWord四、详细设计4.1数据库的连接4.1.1数据库4.1.2.数据库连接代码appSettingsaddkey=ConSqlvalue=Server=TOSHIBA-PC;Database=DB_LEAVEWORDBOOK;uid=sa;pwd=123456;//appSettings4.2模块4.2.1查看主题图4—1protectedvoidLinkButton1_Click(objectsender,EventArgse){if(this.lnkbtnViewBack.Text==查看回复){this.lnkbtnViewBack.Text=隐藏回复;this.Panel1.Visible=true;}else{this.lnkbtnViewBack.Text=查看回复;this.Panel1.Visible=false;}}代码说明:点击其中一个主题进入如图4-1所示的界面,然后点击查看回复就能看见回复的内容,同时你也可以点击隐藏回复,就将刚才点击出来的回复内容隐藏起来了。图4-2protectedvoidbtnOK_Click(objectsender,EventArgse){SqlDatada=newSqlData();stringcmdtxt=INSERTINTOtb_Reply(UName,Content,DateTime,ReplyID,IP);cmdtxt+=VALUES('+this.txtUid.Text+','+this.FreeTextBox1.Text+','+DateTime.Now+';cmdtxt+=,+Request[ID].ToString()+,'+Request.UserHostAddress+');if(da.ExceSQL(cmdtxt)){Response.Write(scriptlanguage=javascriptalert('操作成功’!);location='LeaveWordView.aspx?ID=+Request[ID]+'/script);}else{Response.Write(scriptlanguage=javascriptalert('操作失败’!')/script);}}代码说明:点击我要回复就进入图4-2的界面,当只填回复内容而不填回复人时,点击提交就会弹出姓名不能为空的信息,只有都填写了提交时提示操作成功。4.2.2发表留言图4-3protectedvoidbtnOK_Click(objectsender,EventArgse){SqlDatada=newSqlData();stringcmdtxt=SELECT*FROMtb_UserWHEREUid='+this.txtUid.Text.Trim()+'ANDPwd='+this.txtPwd.Text.Trim()+'ANDPopedom=1;SqlDataReaderdr=da.ExceRead(cmdtxt);dr.Read();if(dr.HasRows){Session[UserName]=dr[Uid].ToString();Session[ID]=dr[ID].ToString();Response.Redirect(ReleaseWord.aspx);dr.Close();}dr.Close();stringcmdtxt1=SELECT*FROMtb_UserWHEREUid='+this.txtUid.Text.Trim()+'ANDPwd='+this.txtPwd.Text.Trim()+';SqlDataReaderdr1=da.ExceRead(cmdtxt1);dr1.Read();if(dr1.HasRows){Session[UserName]=dr1[Uid].ToString();Session[ID]=dr1[ID].ToString();Response.Redirect(ReleaseWord.aspx);}dr1.Close();}代码说明:cmdtxt1=SELECT*FROMtb_UserWHEREUid=';说明用户名来自于dbo.tb_User。并且来判断密码是否跟数据库中的信息相符合。如果输入正确转到图4-4所示的页面,反之提醒出错。图4-4protectedvoidbtnOK_Click(objectsender,EventArgse){SqlDatada=newSqlData();stringcmdtxt=INSERTINTOtb_LeaveWord(Uid,Subject,Content,DateTime,IP);cmdtxt+=VALUES('+Session[UserName].ToString()+','+this.TextBox1.Text+';cmdtxt+=,'+this.FreeTextBox1.Text+','+DateTime.Now+';cmdtxt+=,'+Request.UserHostAddress+');booladd=da.ExceSQL(cmdtxt);if(add==true){Response.Write(scriptlanguage=javascriptalert('添加成功!');location='Index.aspx'/script);}else{Response.Write(scriptlanguage=javascriptalert('添加失败!');location='javascript:history.go(-1)'/script);}}protectedvoidButton1_Click(objectsender,EventArgse){this.TextBox1.Text=;this.FreeTextBox1.Text=;}代码说明:用户进行留言事必须填写留言主题,否则就会弹出主题不能为空的界面,点提交时,所写内容也会保存到表tb_LeaveWord里。4.2.3用户注册图4-5protectedvoidbtnOK1_Click(objectsender,EventArgse){SqlDatada=newSqlData();SqlDataReaderread=da.ExceRead(select*fromtb_UserwhereUid='+this.txtUid.Text+');read.Read();if(read.HasRows){if(this.txtUid.Text==read[Uid].ToString()){Response.Writ