ASPNET程序设计_第1页
ASPNET程序设计_第2页
ASPNET程序设计_第3页
ASPNET程序设计_第4页
ASPNET程序设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ASP.NET网页设计设计说明书设计题目: 姓 名: 张华伟 学 号: 20091290156 班 级: 09电商1 指导教师: 李学卫 完成日期: 设 计 要 求考核目的 通过课程设计,了解学生对本课程基础知识的掌握情况,对知识的应用能力,以及考核学生开发Web应用程序的综合能力。考核项目要求 ASP.NET网页设计的主要内容是介绍开发Web应用程序的主要技术ASP.NET,包括Web应用程序的配置、ASP.NET的内置对象、常用服务器控件、ADO.NET数据访问及数据绑定、站点导航及主题等。本次考核的具体要求如下:1 熟悉VS.NET2005开发环境的安装与使用。2 掌握用SQL Serv

2、er 2005创建数据库。3 掌握Web应用程序的配置、部署。4 系统结构设计要合理。5 系统功能基本完善。6 操作界面设计友好,风格统一,美观大方。7 能够实现页面间数据的传递。8 能够实现对数据库的访问。9 能够基本保障应用程序的安全性。10. 初步学会使用Web应用程序的高级技术11. 有一定的应用价值3a.html设计说明书内容首行缩进2个字符,小四号字,宋体,1.5倍行距别为2.5厘米。,上下左右边距分举例:面向对象程序设计c#设计说明书姓 名: 鲁彬 学 号: 20071311001 班 级: 指导教师: 李学卫 完成日期: 目录第一章 概 述11.1 GoldWave简介11.2

3、 Flash软件简介2第二章 剧本的设定32.1 剧本内容32.2剧本设计3第三章 前期准备53.1背景音乐的制53.2剧本素材的收集6第四章 MTV的制作84.1 背景音乐的导入84.1.2流类型的音乐设置94.2歌词与音乐的同步94.3动画设计制作12第五章 动画测试175.1动画测试175.2解决测试发现的问题175.3测试结论17设计总结18参考文献19学生学籍管理系统设计说明书第一章 系统分析伴随社会的高速发展,全国各高校的学生数量一直在增加,在这样的形式下,必须要求学校有一种高效有序的方法来管理学生的信息。通过调查,要求系统需要有以下功能: 由于该系统一次性输入的数据量可能很大,所

4、以要求支持从Excel导入数据; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改; 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好;由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows XP操作系统环境下,使用Visual Studio.NET 2003中文版开发成功的。Visual Studio具有以下特点:

5、1、面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。3、类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类

6、的概念是面向对象程序设计最重要的特征。所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。4、面向对象设计的核心是类的设计。例如:可以定义一个“成绩查询”类,该类中可以定义查询的姓名、学号、班级等信息,则以此类为原型可以设计出众多的“成绩查询”类的对象实例,这些实体都具有类中所定义的特征。第二章 系统设计2.1 系统功能分析 系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。在本系统中有二种权限:一种是用户权限,即学生。另一种是管理员权限,即教师。学生管理系统需要完成的功能主要有:学生可以完

7、成的功能有 : 学生信息的查询,包括查询学生的基本信息、学生成绩等。 学生信息的修改,学生只能修改他本人的密码。教师可以完成的功能有 : 班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。 基本课程信息的输入、查询、修改。 学生成绩信息的输入、查询、修改。对上述各功能进行集中、分块、按照结构化程序设计的要求。学籍修改密码修改功能成绩管理功能学籍删除学籍查询成绩查询成绩添加成绩修改成绩删除用户添加用户删除学生信息管理系统学籍管理功能学籍添加用户管理功能修改密码用户删除图2-1 系统功能模块图2.2 系统流程图图2-2 系统流程图第三章 数据库设计3.1 数据库需求分析 用户信息:包括

8、的数据项有:用户号、姓名、密码、身份。 学生信息:包括的数据项有:学生学号、学生姓名、性别、出生日期、班级名称、 入学年份、学籍编号、政治面貌编号、身份证号、民族编号、家庭地址、照片、照片名称等。 学籍代码表:包括的数据项有:学籍编号、学籍等。 成绩表:包括的数据项有:编号、学号、课程编号、成绩、考试性质编号等。 政治面貌代码表:包括的数据项有:政治面貌编号、政治面貌等。 民族代码表:包括的数据项有:民族编号、民族等。 考试性质表:包括的数据项有:考试性质编号、考试性质等 课程信息:包括的数据项有:课程编号、课程名称、教师、学分、学时等3.2 数据库概念结构设计 本系统的实体有:学生实体、用户

9、实体、年级实体、课程实体。各个实体具体的描述E-R图如图下所示。 学生基本信息班级成绩课程图3-1 学生实体ER图 用户学生教师图3-2 用户实体ER图课程课程名称学时教师学分图3-3 课程实体ER图 现在需要将上面的数据库概念结构转化为SQL Server 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。学生管理系统数据库中各个表格的设计结果如下面的几个表所示。每个表表示在数据库中的一个数据表表3-1 学生信息表表3-2 学籍代码表表3-3 成绩表表3-4 政治面貌代码表表3-5 民族代码表表3-6 用户信息表表3-7 考试性质表表3-8 课程信息表3.3 数据库结构的实现

10、经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。就可以在SQL Servr 2000数据库系统中实现该逻辑结构,利用SQL Server 2000数据库系统中SQL查询分析器实现的。ALTER TABLE dbo.学生信息 ADD CONSTRAINT FK_学生信息_民族代码表 FOREIGN KEY (民族编号) REFERENCES dbo.民族代码表 (民族编号),CONSTRAINT FK_学生信息_学籍代码表 FOREIGN KEY (学籍编号) REFERENCES dbo.学籍代码表 (学籍编号),CONSTRAINT FK_学生信息_政治面貌代码表 FOREIGN

11、 KEY (政治面貌编号) REFERENCES dbo.政治面貌代码表 (政治面貌编号)GOALTER TABLE dbo.成绩表 ADD CONSTRAINT FK_成绩表_课程信息 FOREIGN KEY (课程编号) REFERENCES dbo.课程信息 (课程编号),CONSTRAINT FK_成绩表_学生信息 FOREIGN KEY (学号) REFERENCES dbo.学生信息 (学号),CONSTRAINT FK_成绩表_考试性质表 FOREIGN KEY (考试性质编号) REFERENCES dbo.考试性质表 (考试性质编号)GO第四章 详细设计4.1 主窗体的创建

12、上面的SQL语句在SQL Server 2000中查询分析器执行后,将自动产生需要的所有表。有关数据库结构的所有后台工作已经完成。现在将通过学生管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。1. 创建空白解决方案为了在Visual Studio.NET 2003中创建应用程序,应当先创建一个空白解决方案,它包括: 通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。(.sln)。 记录所有将与解决方案建立关联的选项,以便在每次打开时,它都包含您所做的自定义设置。(.suo)。 启动这个空白解决方案后,单击 文件|新建|项目 菜单,在新建项目中选择

13、Visual C#项目 ,在模块中选择Windows 应用程序 ,并命名为MainFrm。2.创建主窗体Visual Studio.NET 2003创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。在SDI的程序中,每个窗体之间是独立的。而MDI的程序中,有一个窗体是主窗体,可以包含其他窗体,它的类型是MDI Form。本系统采用多文档界面,这样可以使程序更加美观,整齐有序。单击工具栏的“MainMenu”控件,生成一个如下所示的窗体图4-1 MainFrm界面图4.2 创建公用模块在VS.NET中可以使用类库模板快速创建能够与其他项目共享的可再次使用的类和组件。整个工程项目中的

14、任何地方都可以调用公用类库的类和组件,这样可以极大地提高代码的效率。在项目资源管理器中为项目添加一个类,保存为xjDataBase.cs。下面就可以开始添加需要的代码。public class xjDataBaseprivate string strSQL;private string connectionString = "workstation id=localhost;packet size=4096;integrated security=SSPI;persist security info=False;initial catalog=xueji"private S

15、qlConnection myConnection;private SqlCommandBuilder sqlCmdBld;private DataSet ds = new DataSet ();private SqlDataAdapter da;public DataSet SelectDataBase(string tempStrSQL,string tempTableName)this.strSQL = tempStrSQL;this.myConnection = new SqlConnection (connectionString);this.da = new SqlDataAdap

16、ter (this.strSQL ,this.myConnection );this.ds .Clear ();this.da .Fill (ds,tempTableName);return ds; 4.3 用户管理模块的创建系统管理模块主要实现: 用户登录。 添加用户。 修改用户密码。1.用户登陆窗体的创建系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户名,然后输入密码。图4-2 用户登录界面用户登陆窗体中放置了两个文本框(TextBox),用来输入用户名和用户密码。两个按钮(Button)用来确定或者取消登陆。2个标签(Label)用来标示窗体的信息。为窗体定义全局变量OK,

17、用来判断登陆是否成功,代码如下:public static bool blCanLogin = false;private DataSet ds= new DataSet ();private DataTable myTable;private DataRow myRow;private string sendStrSQL="select * from 用户信息 "xjDataBase xj = new xjDataBase ();string sendTableName = "用户信息"this.ds = xj.SelectDataBase (send

18、StrSQL,sendTableName);this.myTable = ds.Tables 0;private void button1_Click(object sender, System.EventArgs e)for (int i=0;i<myTable.Rows .Count ;i+)this.myRow = myTable.Rows i;if (myRow0.ToString ().Trim ()=this.textBox1 .Text .ToString ().Trim ()&&myRow2.ToString ().Trim ()=this.textBox

19、2.Text .ToString ().Trim ()blCanLogin = true;strUser = myRow0.ToString ().Trim ();strpwd=myRow2.ToString ().Trim ();strDignity = myRow3.ToString ().Trim ();strName = myRow1.ToString ().Trim ();this.Close ();return;MessageBox.Show ("用户名或密码输入错误!","提示!");return;3.修改用户密码窗体的创建用户可以修改自己

20、的密码,选择菜单“修改密码”,出现如下所示的窗体。图4-3 修改密码界面在这两个窗体中放置了四个文本框,用来输入用户名、原密码、新密码和确认密码。两了按钮用来确定是否修改密码。四个标签用来标示文本框的内容,单击“确认”按钮,将触发Click事件判断是否修改密码成功,代码如下:private void button1_Click(object sender, System.EventArgs e)bool canSubmit;canSubmit=this.CheckNotNull ();if(canSubmit=false)return;for (int i=0;i<myTable.Row

21、s .Count ;i+)this.myRow = myTable.Rows i;if (myRow0.ToString().Trim()=this.textBox1.Text.ToString().Trim()&&myRow2.ToString().Trim()=this.textBox2.Text.ToString().Trim()string strUser = textBox1.Text.ToString (); string connstring="workstation id=localhost;integrated security=sspi;datab

22、ase=xueji" SqlConnection conn = new SqlConnection(connstring); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType =System.Data .CommandType .Text ;cmd.CommandText ="update 用户信息 set 密码='"+this.textBox3 .Text+"' where 学号='"+strUser+"'"cmd

23、.Connection = conn; trycmd.ExecuteNonQuery ();conn.Close();catch(Exception er)MessageBox.Show (er.ToString ();return;MessageBox.Show ("密码修改成功","提示");return; MessageBox.Show ("用户名 或原密码输入错误!","提示",MessageBoxButtons.OK ,MessageBoxIcon.Stop );CheckNotNull是一系列触发检验,

24、只是查检查全部通过才能执行修改密码的代码,否则会报错。在此就不将代码一一列出。4.4 学生功能模块的创建以上是学生和教师都可以实现的功能.以下是学生的功能。学生功能模块主要实现如下功能: 查询学籍信息 查询成绩信息学生在成功登录系统后,即可查询自己的相关信息,在主窗体中点击学生信息查询菜单下的学籍查询,即出现如下所示的窗体:图4-4 学籍查询界面使用sqlDataAdapter添加数据集并生成DataSet,然后将数据绑定到各个textBox,显示查询本人的照片是本系统的一大特色,实现此功能的代码如下:string sql="SELECT 照片名称,照片 from 学生信息 &quo

25、t;+"WHERE( 学号 = '"+LoginFrm.strUser +"')" ; SqlCommand command = new SqlCommand(sql, this.sqlConnection1 ); try this.sqlConnection1 .Open (); catch(Exception newerr) MessageBox.Show(newerr.ToString ()+" 不能打开数据联接!") ; finally SqlDataReader dr = command.ExecuteRea

26、der (); if(dr.Read() FileInfo fi = new FileInfo("temp"); FileStream myStream=fi.Open(FileMode.Create); byte mydata=(byte)dr"照片"); foreach(byte a in mydata) myStream.WriteByte(a); myStream.Close(); Image myImage=Image.FromFile("temp") ; this.pictureBox1 .Image=myImage; t

27、his.pictureBox1 .Refresh(); dr.Close (); else MessageBox.Show("没有成功读入数据!","提示") ; 除此之外学生还可以查询自己的学习成绩信息, 选择菜单“成绩查询”就可以查询到自己的学习成绩,出现如下所示的窗体。图4-5 成绩查询界面在窗体中添加一个mainMenu,和学籍查询相似将DataSet中的数据绑定到mainMenu中即可,代码和学籍查询相似在此不再重复。此外学生还可打印自己的成绩单,点击打印按钮,将出现如下窗体。图4-5 成绩表界面实现此功能,先建一个CrystalReport.

28、rpt,在数据库字段中将前面生成的DataSet中的成绩表绑定上去,然后往报表中拖入要打印的项目即可,然后再建一个Windows窗体CrystalReport.cs,从工具箱中拖入CrystalReportViewer,调整CrystalReportViewer的大小,并输入和成绩查询相似的代码即可。4.5 教师功能模块的创建以上是学生实现的功能.以下是教师的功能。教师功能模块主要实现如下功能: 添加/删除/修改学籍信息 添加/删除/修改成绩信息 添加/删除用户信息教师在成功登录系统后,点击学籍录入菜单,出现如下所示窗体:图4-7 添加学籍界面在窗体上放置多个文本框和下拉式文本框,将它们绑定到

29、DataSet中用来输入学籍信息。两个按钮用来确定是否添加学籍信息。单击“添加图片”按钮,出现打开文件对话框,选择图片即可,点击提交即可保存到数据库中。具体代码如下:实现图片加载的代码:&&this.openFileDialog1 .FileName !="")pathName = this.openFileDialog1.FileName;System.Drawing.Image img = System.Drawing.Image.FromFile(pathName);this.pictureBox1.Image = img; this.textBox8

30、 .Text =pathName.Substring(pathName.LastIndexOf("")+1);System.IO.FileStream fs = new System.IO.FileStream(pathName,System.IO.FileMode.Open,System.IO.FileAccess.Read); byte buffByte = new bytefs.Length; fs.Read(buffByte,0,(int)fs.Length); fs.Close(); fs = null;点击学籍修改菜单,出现如下所示窗体:图4-8 修改学籍界面在

31、学籍修改窗体中,可以实现模糊查询,代码如下:da1.SelectCommand .Parameters 0.Value ="%"da1.SelectCommand .Parameters 1.Value ="%"da1.SelectCommand .Parameters 2.Value ="%"if(this.textBox1 .Text .Trim () !="")da1.SelectCommand .Parameters 0.Value ="%"+this.textBox1 .Text .T

32、rim ()+"%"if(this.textBox2.Text .Trim () !="")da1.SelectCommand .Parameters 1.Value ="%"+this.textBox2 .Text .Trim ()+"%"if(this.textBox3 .Text .Trim () !="")da1.SelectCommand .Parameters 2.Value ="%"+this.textBox3 .Text .Trim ()+"%&qu

33、ot;教师还可以点击成绩录入菜单,即可出现如下窗体:图4-9 添加学生成绩界面成绩添加是以班级为单位,输入班级名称后,dataGrid中显示全班学生姓名、学号和成绩,其中成绩都为null,教师可在其中输入学生成绩,在文本框中输入对应的名称即可。在本系统中还可从Excel中导入,从excel导入的代码如下:&&this.openFileDialog1 .FileName !="")string filename = openFileDialog1.FileName;string strCon = " Provider = Microsoft.Jet.

34、OLEDB.4.0 ; " + "Data Source =" + filename + "Extended Properties=Excel 8.0" OleDbConnection myConn = new OleDbConnection(strCon); myConn.Open(); string strCom = "Select * FROM Sheet1$ " OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn); DataSet dat

35、aSet1 = new DataSet(); myCommand.Fill(dataSet1, "Sheet1$"); myConn.Close(); this.dataGrid1.SetDataBinding (dataSet1,"Sheet1$");从dataGrid中将成绩存入sql数据库的代码如下:for(int i=0;i< dataGrid1.VisibleRowCount - 1 ;i+)sqlConnection1.Open();string comm2="Insert into 成绩表 (学号,成绩,课程编号,考试性质编

36、号) values(学号,成绩,课程编号,考试性质编号) " this.sqlCommand2 .CommandText =comm2; this.sqlCommand2 .Parameters .Add ("学号",System.Data .SqlDbType .VarChar );this.sqlCommand2 .Parameters 0.Value =this.dataGrid1 i,1.ToString ();this.sqlCommand2 .Parameters .Add ("成绩",System.Data .SqlDbType

37、.Int );this.sqlCommand2 .Parameters 1.Value =this.dataGrid1 i,2.ToString ();this.sqlCommand2 .ExecuteNonQuery ();this.sqlCommand2.Parameters.Clear();this.sqlCommand2.Dispose();sqlConnection1.Close();教师还可以点击修改成绩菜单,即可出现如下窗体:图4-10 修改成绩界面修改成绩的实现方法和修改学籍基本相同,在此不再重复。 教师还可以点击添加/删除用户菜单,即可出现如下窗体:图4-11 添加删除用户界

38、面在本窗体文本框中输入用户信息,点击添加用户按钮即可将用户添加到sql数据库中,其中用户的初始密码和用户名相同。也可根据输入的用户信息删除此用户。删除的代码如下所示:for (int i=0;i<myTable.Rows .Count ;i+)this.myRow = myTable.Rows i;if (myRow0.ToString ().Trim ()=this.textBox1 .Text .ToString ().Trim ()&&myRow1.ToString ().Trim ()=this.textBox2.Text .ToString ().Trim ()

39、&&myRow3.ToString ().Trim ()=this.textBox2 .Text .ToString ().Trim ()string comm = "delete from 用户信息 where 学号='"+this.textBox1 .Text +"'"this.sqlCommand1 = new System.Data.SqlClient.SqlCommand ();this.sqlCommand1.CommandType = System.Data.CommandType.Text ;this.sq

40、lCommand1.CommandText = comm;this.sqlCommand1.Connection = this.sqlConnection1 ;this.sqlConnection1.Open ();trythis.sqlCommand1 .ExecuteNonQuery ();MessageBox.Show ("用户删除成功","提示");return;catch(Exception exp)MessageBox.Show (exp.ToString ();MessageBox.Show ("用户id或密码不存在!","提示");return;当然这种做法对于大量输入用户来说显得比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论