备忘录课程设计.doc_第1页
备忘录课程设计.doc_第2页
备忘录课程设计.doc_第3页
备忘录课程设计.doc_第4页
备忘录课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

信息与电气工程学院课程设计说明书(2008/2009学年第二学期)课程名称 : 软件程序设计 题 目 : 备忘录 专业班级 : 学生姓名 : 学 号: 指导教师 : 设计周数 : 2周 设计成绩 : 2009年6月19日1.目的:通过本次课程设计的学习和实际上机操作,进一步加强和了解掌握C#和数据库的学习和操作。完成备忘录的课程设计。2.软件方面设计部分;硬件方面设计部分2.1系统分析:备忘录系统所需要实现的功能是1、支持多用户,根据用户名和密码进入备忘录;2、登录用户可完成备忘信息的录入、修改和删除功能;3、支持登录提醒功能或其它提醒方式。同时使用采用web窗体和C#语言来进行实际设计。既然涉及到了多用户等相关操作,就用到了SQL SERVER 2005数据库。2. 2系统设计:2.2.1系统备忘录系统的功能模块:用户信息模块:用来管理用户的注册,修改个人信息,以及安全验证(需使用session及清除)。备忘录信息模块:用来管理用户个人的备忘信息,以及用户备忘信息的编辑,修改,删除。2.2.2系统流程图开始进入登录界面判断用户名与密码是否与数据库中一致?注册,重新登录验证编辑备忘信息与个人信息退出 否 是2.2.3数据库系统设计用户信息表(UserInfo)列名数据类型长度是否为主键是否为空注释UserNamenvchar20是否用户登录帐号UserPwdnvchar20否否用户登录密码UserSexint4否否用户性别UserAgenvchar50否是用户年龄UserNativePlacenvchar50否是用户籍贯备忘录信息表(MessageInfo)列名数据类型长度是否为主键是否为空注释IDint是否备忘录信息标识UserNamenvchar20否否用户登录帐号Titlenvchar50否否用户登录密码SetTimedatetime否否现在时间RemindTimedatetime否否提醒时间MessagenvcharMAX否是备忘录信息2.2.4系统功能图备忘录系统用户信息模块备忘信息模块用 户 注 册 模 块用户登录模块用户修改个人信息模块新建备忘模块查看备忘模块编辑备忘模块修改备忘模块删除备忘模块2.3主要系统界面的设计实施如下:1.登录界面2注册界面3主界面4新建备忘界面5查看备忘界面6编辑修改7编辑删除8个人管理3实验程序有关代码3.1登录protected void btnLogin_Click(object sender, EventArgs e) if (txtUsername.Text = | txtPwd.Text = ) Response.Write(alert(用户名或密码不能为空!); else SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsconnectionstring.ConnectionString); conn.Open();/打开数据库连接 /创建一个命令对象 SqlCommand cmd = new SqlCommand(SELECT * FROM UserInfo WHERE UserName= + txtUsername.Text.Trim() + AND UserPwd= + txtPwd.Text.Trim() + , conn); /执行命令对象操作的查询操作,并将结果返回给DataReader对象。 SqlDataReader dr = cmd.ExecuteReader(); /执行DataReader的Read方法,判断是否查询到记录 if (dr.Read() /查询到,将用户名保持至Session对象,进入上次请求的页面。 Sessionyhm = drUserName.ToString(); FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true); else /弹出对话窗,告知错误。 Response.Write(alert(用户名或密码错误!); txtUsername.Text = ; txtPwd.Text = ; /释放DataReader对象,关闭数据库连接 dr.Close(); conn.Close(); 3.2注册protected void btnSure_Click(object sender, EventArgs e) /创建连接数据库的对象 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsconnectionstring.ConnectionString); conn.Open();/打开数据库连接 if (txtPwdzc.Text.Trim() = txtPwdag.Text.Trim() string sex = ; if (optMale.Checked) sex = 男; if (optFemale.Checked) sex = 女; /创建一个命令对象 SqlCommand cmd = new SqlCommand(INSERT INTO UserInfo Values( + txtUsernamezc.Text.Trim() + , + txtPwdzc.Text.Trim() + , + sex + , + txtAge.Text.Trim() + , + DropDownList1.SelectedItem + ), conn); int i = cmd.ExecuteNonQuery(); if (i = 1) Response.Write(alert(注册成功!); else Response.Write(alert(注册失败!); conn.Close(); else Response.Write(alert(两次密码不一致!);protected void btnBack_Click(object sender, EventArgs e) Response.Redirect(First.aspx);3.3写备忘录信息protected void Button1_Click(object sender, EventArgs e) string u = Sessionyhm.ToString(); /创建连接数据库的对象 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsconnectionstring.ConnectionString); conn.Open();/打开数据库连接 /创建一个命令对象 DateTime t = System.DateTime.Now; string str = string.Format(0 1:2:00, Calendar1.SelectedDate.ToShortDateString(), DropDownList1.SelectedValue.ToString(), DropDownList2.SelectedValue.ToString(); DateTime rt = DateTime.Parse(str); if (TextBox1.Text.Trim() = ) Response.Write(alert(标题不能为空!); if(DateTime.Compare(rt,t)=0) SqlCommand cmd = new SqlCommand(INSERT INTO MessageInfo(UserName,Title,Message,SetTime,RemindTime) Values( + u + , + TextBox1.Text.Trim() + , +TextBox2.Text.Trim() + , + t + , + rt + ), conn); int i = cmd.ExecuteNonQuery(); if (i = 1) Response.Write(alert(新建备忘成功!); else Response.Write(alert(错误,新建失败!); conn.Close(); else Response.Write(alert(所设时间已过!); 3.4.母版页protected void Page_Load(object sender, EventArgs e) if (Sessionyhm!= null) lblUsername.Text = Sessionyhm.ToString(); protected void Quit_Click(object sender, EventArgs e) Session.Abandon (); Response.Write(window.location.href=First.aspx); 3.5. web.config页 / 建立了多余的连接,故只保留最后一个 身份认证的重要部分:!- 通过 节可以配置 ASP.NET 使用的 安全身份验证模式, 以标识传入的用户。 - !- 4系统调试及相关问题:1对session 的认识存在不够。解决:Session对象 以存session对象用于存储特定的用户会话所需的信息 。 Session对象的引入是为了弥补HTTP协议的不足,HTTP协议是一种无状态的协议。 Session是“会话”的意思,在ASP中代表了服务器与客户端之间的“会话”。Session的作用时间从用户到达某个特定的Web页开始,到该用户离开Web站点,或在程序中利用代码终止某个Session结束。引用Session 则可以让一个用户访问多个页面之间的切换也会保留该用户的信息。 系统为每个访问者都设立一个独立的Session对象,用储Session变量,并且各个访问者的Session对象互不干扰。 Session与Cookie是紧密相关的。 Session的使用要求用户浏览器必须支持Cookie,如果浏览器不支持使用Cookie,或者设置为禁用Cookie,那么将不能使用Session。 Session信息对客户来说,不同的用户用不同的Session信息来记录。当用户启用Session时,ASP自动产生一个SessionID.在新会话开始时,服务器将SessionID当做cookie存储在用户的浏览器中。2注销与退出的问题。解决:注销,询问别人,在webconfig中(见程序)中已经设置了身份验证。而在注销时系统可以自动执行取消session,因此可以注销。退出,自己所设定的退出Response.End 还是存在不足,不能完全终止程序。因此通过查找,找到了这样的方法(见程序):protected void Quit_Click(object sender, EventArgs e) Session.Abandon (); Response.Write(window.location.href=First.aspx);我在试验的时候,页面出现不能连接警告。也就是同样取消了session,退出系统页面。3. 在数据库使用时出现问题,即点击个人信息时不显示数据。 解决:开始以为是没有连接到Message.aspx,故在该页面中添加了一些字符(见程序),但是连接只显示这些字符而依然没有数据。经过检查信息的录入情况,发现以前的连接录入时显示,而新连接的数据库却没有显示,原因在根本没有注册信息录入进数据库中,检查web.config页,原来是路径错误,需使用|DataDirectory|bwl.mdf来解决。5.课程设计总结或结论通过本次课程设计的亲身经历与实践,初步认识到C语言和数据库学习的重要性和严谨性,需要投入极大的认真和专注。我们所做的备忘录系统较大程度用到了数据库,因此也是一次更加深度的了解学习。同时需要培养一种初步的工程理念和好的团队合作精神,在这些方面我不得不说有很大的差距,虽然我参与了绝大部分的实践活动,但由于平时的不扎实,对一些基本的东西可以掌握。但是这期间又遇到不少的问题,旧的解决,新的又来,刚理解一些,又遇到很多见都没见过的问题,期间得到老师和同学的很大帮助,但是有些真的感觉不好掌握,最后,大体是完成了,却也有一些缺漏和似懂非懂的东西,再加上时间也很仓促,一个问题费半天时间,不能不说有很大遗憾。这些都是所欠缺的,需要我不断的去学习和实践!总之

温馨提示

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

最新文档

评论

0/150

提交评论