已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件学院综合实训报告毕业技术实践项目综合实训报告校友录系统-用户注册,用户信息管理,班级首页,通讯录,留言板学生姓名 专业班级 06信管2班指导教师 完成日期 2008年1月16 日 宁波大红鹰职业技术学院软件学院 2008.1软件系毕业技术综合实训任务书学生姓名陈军班级06信管2班学号062030224课题名称web校友录系统课题组人数3 人指导教师黄东职称实训任务及要求一、 实训目标 通过实训达到熟练灵活地使用c#语言,掌握aspnet应用的基本技能及sql server数据库的相关操作。二、 实训内容校友录系统开发的目的是实现学校学生间的信息交流。具有创建班级的功能,还包括加入班级成员,查看班级成员的信息和校友信息留言功能。本系统要求具有以下功能:1. 班级管理员对功能的需求(1)班级成员信息管理:可浏览班级所有成员的信息,并审核要求成为班级成员的用户信息。(2)留言信息管理:可浏览、添加,并维护所有班级成员留言的信息。2班级用户对功能的需求(1)申请加入班级管理:用户找到所在班级后可申请加入此班级。(2)个人信息管理:可注册、修改个人信息。3系统管理(1)用户登录:用于登录系统,并划分用户的权限。 (2)用户信息管理:查看注册、修改用户信息。(3)班级信息管理:查找一个班级或创建一个新班级。(4)加入班级信息管理:申请加入一个班级。(5)班级成员信息管理:审核班级成员的信息。(6)通讯录管理:班级成员可浏览班级成员的信息。(7)信息留言管理:普通班级成员可添加留言信息。三、 开发环境开发平台:microsoft visual studio 2005,语言:c#,数据库:sql server 2000学生需独立完成的具体任务建立数据库。用户注册,用户个人信息管理,班级首页页面设计,班级通讯录,留言板编辑器。参考文献1 李禹生,蒋利华等.sqlserver2000应用技术.中国水利水电出版社,20002 吴晨 孙少波 叶莞等. asp.net数据库项目案例导航. 清华大学出版社,20043 郝刚,袁永刚,严治国等asp.net 2.0开发指南 人民邮电出版,.20064 李存珠,李宣东. 软件工程概论.南京大学计算机系出版,2001年指导教师: 年 月 日教研室主任: 年 月 日摘 要制作校友录主要是用来让同学们能在上面相互联络,能够共同想起彼此之间的友谊,还能够想起大学时代的生活。我们制作的校友录通过利用asp.net、sqlserver数据库、javascript、dreamweaver来进行研究和开发的,制作的目的主要是用来能够进行校友的登录、注册和校友照片的上传,还能实现留言、发表评论、聊天。还能够在网站上,只要在线的校友都可以互相聊天。总之我们制作的校友录网站最终目的是为了能让同学们能够相互交流,彼此联络一下感情,从而更加加深了同学间的友谊。在这次制作中能使我们充分利用网页制作、asp.net语言、sqlserver数据库来制作一个好的网站,也使我们对asp.net语言和sqlserver数据库掌握的更深,更透彻。关键词: asp.net语言 sqlserver数据库- iv -软件学院综合实训报告目 录摘 要 iv第1章 绪论1第2章 相关技术介绍22.1 asp.net简介22.2 利用ado访问数据库32.3 javascript技术简介4第3章 需求分析和总体设计53.1 需求分析53.2数据库设计5第4章 系统具体实现74.1校友录主页74.2用户注册84.2个人资料12第5章 系统的运行与使用315.1 运行环境要求315.2 系统的使用31第6章 结 论32参考文献33致 谢34软件学院综合实训报告第1章 绪论随着计算机的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络工具。各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要。校友录作为一种方便同学之间联系的实用系统便应运而生。本校友录系统是为班级同学之间进行交流和联系提供的一个平台,通过提供完善的校友录服务和规范校友录的管理,可以达到增进同学与母校之间的感情,方便同学们联系的目的。- 1 -软件学院综合实训报告第2章 相关技术介绍2.1 asp.net简介a是建立在通用语言运行时刻库(clr)上的应用程序框架。他用来在服务器端构建功能强大的web应用程序。a提供了几个超越以前web开发模式的优点: 增强的性能。a是运行在服务器端的编译后的clr代码,而不是像asp那样解释执行。 a利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。 世界级水平的开发工具支持。在visual studio .net的集成开发环境(ide)中,a框架由丰富的工具箱和设计器组成。所见即所得的(wysiwyg)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。 强大而富有弹性。由于是基于(clr)的,因此整个.net平台的强大和富有弹性,同样可以应用于web应用程序开发者。.net框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。a也是语言中立的,因此你可以选择你最熟悉的语言,或者通过几种语言来共同完成一个应用。而且,clr的互用性可以保证你升级到asp.ent的时候,现存的基于com的开发投资依然保留。 简单。a使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。例如,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。此外,clr简化了部署,用来管理代码服务,例如自动参照和垃圾回收。 易于管理。a使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。这种“零本地支持”的理念也同样应用到了部署应用程序。a应用程序部署到服务器,简化为复制必要的文件到服务器。在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。 可伸缩性和有效利用性。a被设计成可伸缩的,能为集群和多处理器环境设计提高性能。而且,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。 可订制和扩展。a提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。事实上,使用自己的编写的组件可以扩展或者替换运行时刻的任何子组件。执行自定义验证或状态服务变得前所未有的容易。 安全性。内建的windows验证和每一个应用程序的独立配置,你可以认为你的应用程序是安全的。 2.2 利用ado访问数据库每一步的作法如下:1、创建数据源名2、创建数据库链接(connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。asp.net文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:set conn=server.createobject(“adobd.connection”)这条语句创建了链接对象conn,接下来:3、创建数据对象(record set)ado中的数据对象通常保存的是查询结果。record set是ado中最复杂的对象,有许多属性和方法。record set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:set record set=conn.execute(sqtstr)这条语句创建并打开了对象record set,其中conn是先前创建的链接对象,rs是一个字符串,代表一条标准的sql语句。例如:rs=“select * from shop_books”询结果返回给一个数据对象或进行插入、删除等操作。例如:rs=“insert into tab1 values(1,2)”mconn.execute(rs)/执行插入操作5、关闭数据对象和链接对象/关闭创建的数据对象mconn.closeset mconn=nothing2.3 javascript技术简介javascript是一种由netscape的live script发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是netscape的浏览器navigator加入了javascript,提供了数据验证的基本功能。javascript的特点javascript 使网页增加互动性。javascript 使有规律地重复的html文段简化,减少下载时间。javascript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 cgi 验证。javascript 的特点是无穷无尽的,只要你有创意。4软件学院综合实训报告第3章 需求分析和总体设计3.1 需求分析根据前面的设计思想进行分析,按照系统开发的基本观点对网站进行分解,从内容上可对本系统作如下划分:l 校友录主页(显示公告和新注册的班级、同学情况)l 注册页面(注册用户之后再自己加入班级)l 个人信息页面(查看修改用户基本资料)l 班级主页(一个班级为一个像空间一样的页面)l 班级管理员页面(这里是管理员进行的页面)系统流程图如下:3.2数据库设计数据库的设计原则要求:数据库的设计与信息模型完全相符;数据库布局合理,靠近信息源和使用点,减少中间环节,确保信息渠道畅通;尽量减少数据冗余,采用关系型数据库尽量满足第三范式分解要求;为保证数据库的安全、完整和并发操作的一致性,对数据库的各类操作具有统一的管理和控制功能;为使数据运行安全可靠,对共享数据库采取保护措施,保证数据的一致性。本次数据库的设计完全遵循上述原则设计的,下面是整个数据库的e-r图mnmn提供11n更改资料使用相册聊天留言使用对应班级用户1采用的数据库是microsoft sqlserver2000 包含如下几个表文件:1、 user 用户注册表2、 chatinfo 聊天室信息表3、 class 班级信息表4、 classly 班级留言表5、 image 图片表25软件学院综合实训报告第4章 系统具体实现4.1校友录主页系统主页采用静、动相结合的方式,即静态的主画面和动态的内容相结合,体现班级的勃勃生气,静态主页方式介绍校友录公告、最近加入同学、校友搜索、在线信息、登陆系统,管理功能,相册功能,聊天室功能,就利用asp.net语言与sqlserver数据库相结合的技术建立数据库查询管理系统,采用交互式的动态的web画面来实现(如图3.1所示)。图3.1 主页设计图4.2用户注册用ado技术连接数据库检验用户名是否存在,代码如下: protected bool ifhavename() class2 c1 = new class2(); datatable dt = c1.rt(); datarow dr = dt.select(用户名= + + text1.text + ); if (dr.length 0) response.write(alert(用户名已被占用!);); return true; else return false; 填写个人基本信息并提交,代码如下:session用户名 = textbox13.text; class2 c6 = new class2(); datatable dt = c6.rt(); /datatable dt = (datatable)viewstatebbb; datarow dr = dt.newrow(); dr用户名 = text1.text; dr真实姓名 = text2.text; dr密码 = convert.tostring(session密码); dr生日 = year.value + - + month.value + - + day.value; dr电子邮件 = text5.text; if (sex.checked = true) text18.text = 酷男; if (s.checked = true) text18.text = 靓女; dr性别 = text18.text; dr头像 = select1.value; dr主页地址 = text9.text; drqq = text10.text; dr电话 = text12.text; dr移动电话 = textbox13.text; dr邮政编码 = text15.text; dr通信地址 = text16.text; dr格言 = textbox17.text; dr身份 = 游客; dr注册日期 = datetime.now; dr积分 = 100; dr已有班级 = 1; dt.rows.add(dr); class2 c3 = new class2(); c3.run(); sessions = text1.text; response.redirect(login2.aspx);注册成功: 用户登录: string connstr = integrated security=sspi;database=tongxue; string querystr = select * from users where 用户名=username and 密码=password; string c = select * from class where 班级号=class; sqlconnection newconn; newconn = new sqlconnection(connstr); sqlcommand cmd = new sqlcommand(querystr, newconn); sqlcommand cmd1 = new sqlcommand(c, newconn); cmd.parameters.add(username, sqldbtype.varchar, 50); cmd.parametersusername.value = textbox1.value; cmd.parameters.add(password, sqldbtype.varchar, 50); cmd.parameterspassword.value = textbox2.value; newconn.open(); sqldatareader dr = cmd.executereader(); if (dr.read() label11.text = dr用户名.tostring(); session用户名 = dr用户名.tostring(); session身份 = dr身份.tostring(); session用户编号 = dr用户编号.tostring(); session班级号 = dr班级号.tostring(); session已有班级 = dr已有班级.tostring(); sessionusernum = dr用户名.tostring(); string i = session身份.tostring(); label2.text = i; if (i = 班长 | i=管理员兼班长 | i=副班长 | i=管理员) button3.visible = true; cmd1.parameters.add(class, sqldbtype.varchar, 50).value = dr班级号.tostring() ; t3.visible = false; table2.visible = true; table1.visible = false; if (dr已有班级.tostring() = 1) imagebutton3.visible = true; linkbutton3.visible = false; image5.visible = false; label1.visible = true; else if (dr已有班级.tostring() = 3) t3.visible = true; linkbutton3.visible = false; image5.visible = false; imagebutton3.visible = false; label1.visible = true; else imagebutton3.visible = false; newconn.close(); newconn.open(); sqldatareader dr1 = cmd1.executereader(); if (dr1.read() label15.text = dr1班级名.tostring(); linkbutton3.text = dr1班级名.tostring(); newconn.close(); else response.write(alert(用户名或密码错误!);); 4.2个人资料此模块方便个人资料的查询、修改等,图示为个人资料修改界面:具体如下:当点击上传肖像按钮时,个人说明部分变成这里用到了javascript,具体代码如下:function button4_onclick() document.all(t1).style.display=;document.all(button4).style.display=nonedocument.all(button5).style.display=document.getelementbyid(button6).style.display=;function t()document.all(t1).style.display=none;document.getelementbyid(button6).style.display=none;function button5_onclick() document.all(t1).style.display=none;document.all(button5).style.display=nonedocument.all(button4).style.display=;document.getelementbyid(button6).style.display=none;确定更换按钮代码如下:boolean fileok = false; string filename; if (!fileupload1.hasfile) response.write(文件上传失败!); return; string aa = .gif, .png, .jpeg, .jpg ; string filext = path.getextension(fileupload1.filename).tolower(); for (int i = 0; i filext.length; i+) if (filext = aai) fileok = true; if (fileok) random ra = new random(); int runnum = ra.next(10000, 99999); datetime dt = datetime.now; filename = convert.tostring(dt.year) + convert.tostring(dt.month) + convert.tostring(dt.day); filename += convert.tostring(runnum) + filext; fileupload1.saveas(server.mappath(.) + upload + filename); string a = integrated security=sspi;database=tongxue; string b = update users set 头像=image where 用户名=name; sqlconnection conn1; conn1 = new sqlconnection(a); sqlcommand cmd1 = new sqlcommand(b, conn1); cmd1.parameters.add(image, sqldbtype.varchar, 50).value = upload/+filename; cmd1.parameters.add(name, sqldbtype.varchar, 50).value = convert.tostring(session用户名); conn1.open(); cmd1.executenonquery(); conn1.close(); response.write(alert(上传成功!);); response.redirect(editinfo.aspx); else response.write(文件格式不正确!); 更新数据按钮代码: string a = integrated security=sspi;database=tongxue; string b = update users set 主页地址=index,电子邮件=email,qq=qq,电话=dianhua,邮政编码=a,通信地址=b,格言=c where 用户名=name; sqlconnection conn1; conn1 = new sqlconnection(a); sqlcommand cmd1 = new sqlcommand(b, conn1); cmd1.parameters.add(index, sqldbtype.varchar, 50).value = textbox1.text; cmd1.parameters.add(email, sqldbtype.varchar, 50).value = textbox2.text; cmd1.parameters.add(qq, sqldbtype.varchar, 50).value = textbox3.text; cmd1.parameters.add(dianhua, sqldbtype.varchar, 50).value = textbox4.text; cmd1.parameters.add(a, sqldbtype.varchar, 50).value = textbox5.text; cmd1.parameters.add(b, sqldbtype.varchar, 50).value = textbox6.text; cmd1.parameters.add(c, sqldbtype.varchar, 50).value = textbox8.text; cmd1.parameters.add(name, sqldbtype.varchar, 50).value = convert.tostring(session用户名); conn1.open(); cmd1.executenonquery(); conn1.close(); textbox1.enabled = false; textbox2.enabled = false; textbox3.enabled = false; textbox4.enabled = false; textbox5.enabled = false; textbox6.enabled = false; textbox8.enabled = false; button1.visible = true; button2.visible = false;班级管理4.2 班级留言班级留言簿主要是用来让同学们在上面留言,交流交流最近的心得,感想等等。留言可长期保存,让后登录的同学看到。下图为班级留言簿模块:发表留言模块显示留言模块将编辑好的留言提交到数据库并显示出来,具体代码如下: response.write(htmledit1.getcontent); /输出编辑器内容 string m = htmledit1.getcontent; m = m.replace(, ); class4 c1 = new class4(); string sql = insert into classly(主题,内容,发表时间,留言人,班级号,用户编号) values(; sql += txttheme.text + , + m + , + datetime.now + , + lblname.text + , + convert.tostring(session班级号) + , + convert.tostring(session用户编号) + ); c1.executesql(sql);page.response.redirect(leaveword.aspx); 下面为班级通讯录: protected void page_load(object sender, eventargs e) textbox1.text = convert.tostring(session班级号); string a = integrated security=sspi;database=tongxue; string b = select * from users where 班级号=+textbox1.text; sqlconnection conn = new sqlconnection(a); sqldataadapter da = new sqldataadapter(b, conn); dataset ds = new dataset(); da.fill(ds, addrlist); datagrid1.datasource = ds.tablesaddrlist; datagrid1.databind(); protected void datagrid1_pageindexchanged(object source, datagridpagechangedeventargs e) datagrid1.currentpageindex = e.newpageindex;同学相册:能实现大家照片的顺利上传,为大家相互交流提供一个良好的平台,也为久不见面的同学一解相思之苦。点击上传相片弹出上传页面,如下: protected void page_load(object sender, eventargs e) label1.text = convert.tostring(session班级名); this.fileupload1.attributes.add(onchange, document.getelementbyid( + this.image1.clientid + ).src=document.getelementbyid( + this.fileupload1.clientid + ).value); protected void button1_click(object sender, eventargs e) boolean fileok = false; string filename; if (!fileupload1.hasfile) response.write(文件上传失败!); return; string aa = .gif, .png, .jpeg, .jpg,bmp ; string filext = path.getextension(fileupload1.filename).tolower(); for (int i = 0; i filext.length; i+) if (filext = aai) fileok = true; if (fileok) random ra = new random(); int runnum = ra.next(10000, 99999); datetime dt = datetime.now; filename = convert.tostring(dt.year) + convert.tostring(dt.month) + convert.tostring(dt.day); filename += convert.tostring(runnum) + filext; fileupload1.saveas(server.mappath(.) + upload + filename); class4 c1 = new class4(); string sql = insert into image(图片,上传者,班级号,上传时间) values(upload/; sql += filename + , + convert.tostring(session真实姓名) + , + convert.tostring(session班级号) +,+datetime.now+ ); c1.executesql(sql); table.visible = false; response.write(文件上传成功!); response.write(继续); else response.write(文件格式不正确!); 软件学院综合实训
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 低空经济的社会接受度与伦理问题分析
- 机械手液压传动课程设计
- 机械手夹持器课程设计
- 机械工程液态化课程设计
- 2024年LED照明产品研发与技术服务合同
- 机械加工陶艺课程设计
- 低空经济市场发展趋势、机遇与挑战全景分析
- 机械制造连杆体课程设计
- 2024六年级语文下册 第三单元 交流平台与初试身手教案 新人教版
- 2015年辽宁省丹东市中考真题语文试题(解析版)
- 高考英语复习读后续写人与自然(4)讲义
- 数字经济概论 习题参考答案 李三希
- “教学评一致性”意义与含义
- 人工智能人才培养的智能医学与健康大数据分析技术
- 涉密内网分级保护设计方案
- 《学术不端行为》课件
- 当代世界文化发展的趋势
- 花茶大学生创新创业计划书
- 燃烧器调试报告
- 《中国近代经济史》课件
- 《中国传统教育》课件
评论
0/150
提交评论