个人信息管理-数据库课程设计_第1页
个人信息管理-数据库课程设计_第2页
个人信息管理-数据库课程设计_第3页
个人信息管理-数据库课程设计_第4页
个人信息管理-数据库课程设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、江苏师范大学个人信息管理系统课程设计课程设计报告课程: 数据库系统概论 学号: 姓名: 班级: 教师: 江苏师范大学计算机科学与技术学院课程设计任务书姓 名学 号班 级课程名称数据库系统原理课程性质专业必修课同组成员分工*用户登陆页面的设计,通讯录,日记功能的实现;*密码修改页面的设计,备忘录,个人财务管理功能的实现。设计时间2012 年 6 月5 日 2012 年 6 月 20日设计名称个人信息管理系统的设计与实现设计要求1.通讯录信息:包括通讯人姓名、联系方式、工作地点、城市、备注等;2.备忘录信息:包括什么时间、事件、地点等;3.日记信息:包括时间、地点、事情、人物等;4.个人财务管理:

2、包括总收入,消费项目、消费金额、消费时间、剩余资金等;设计思路与设计过程1.经分析确定用JSP与JavaBean相结合来实现此系统功能;2.确立好的数据模型,建立规范化的数据库;3.实现工作界面,然后是功能实现的页面跳转;4.建立数据源,连接数据库,实现对数据库里的数据操作;5.最终实现系统的各部分功能,并进行测试;计划与进度6月5日6月8日,建立数据库;6月9日6月12日,完成工作界面之间的跳转;6月13日6月19日,完成数据库连接,实现用用程序功能,并不断测试,完善功能;6月20日,完成设计报告;任课教师意 见说 明个人信息管理系统的设计与实现一、 绪论为什么要开发一个个人信息管理系统?很

3、显然,个人信息管理系统的出现绝不是一件偶然的事情,信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可代替的作用。目前人们所提到的信息管理系统通常是指以计算机为工具,对管理信息进行收集,贮存,检索,加工和传递,使其应用于组织机构以及企业管理领域的“人-机系统”,该系统功能简单,效率低下,对管理的作用有限。个人信息(Personal Information)并不是一个新鲜词,简单地说就是开源节流,管理好您的钱和各项信息。想想看,您是如何管理您的通讯录的?其实您在日常生活中不自觉地运用着各种管理方法,但科学管理的前提是建立正确的管理观,正确管理科学管理的含义。二、 系统分析2.1需求分析

4、近年来随着国内外社会经济和科学技术的不断改革和发展,各种各样的个人信息需要记录,很多人对于日常信息的管理感到越来越力不从心,通讯录,备忘录,日志,财务管理等都采用手写,每一项管理都要用本子记录下来,这种管理方法存在跟多缺陷,如:效率低、保密性差,查询起来不方便,另外时间一长,将产生大量的冗余文件和数据,这对于查找、更新和维护工作都带来了很大的困难。本系统就是通过计算机对人们日常的个人信息进行管理,具有相关个人情况的查询,更新,录入和删除,以及有关数据的打印输出,有计算机统计可使人们从繁重的劳动中解脱出来,通过一些简单的输入操作,及时,准确的获得需要的信息,实现无纸化管理。2.2系统功能分析本实

5、验实现的个人信息管理系统主要包括以下功能:1 完成数据的录入和修改,并提交数据库保存。其中的数据包括:用户信息,通讯录信息,备忘录,日志和财务管理信息等; 2实现信息查询。主要包括:通讯录的整体查询和模糊查询,备忘录的整体查询和模糊查询,个人财务收入支出的查询等;3具备一定的安全性管理功能。包括用户的密码设置、重新登录和修改密码等功能。4、拥有良好的人机交互界面。三、 系统设计3.1功能模块设计 本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,经过分析决定采用dreamweaver8和eclipse作为开发工具就,运行平台为Tomcat6.0,服务器端则用

6、于提供数据服务,采用SQL Server2000作为数据库管理系统来实现个人信息管理系统。本系统按照功能划分为以下四个模块:通讯录管理(包括通讯录的添加、更新、查询、删除)、备忘录管理(包括备忘录的添加、更新、查询、删除)、日志管理(包括写日志和删除日志)。个人财产管理(包括个人财产的查询、消费记录的添加与删除)系统的功能模块图如图1所示:学生成绩管理系统学生成绩管理系统学生成绩管理系统通讯录管理个人信息管理备忘录管理日志管理个人财产管理图1.系统的功能模块图3.2数据库设计3.2.1数据库概念结构设计本系统主要有用户,通讯录,备忘录,日志,个人财务五个实体集,用户相当于管理员,本系统中的所有

7、记录都归一个用户私有及自行管理,管理信息需要登录及输入密码,以加强安全性和稳定性。用户密码姓名本系统的E-R图如图2所示:通讯录备注联系方式城市工作地点姓名备忘录地点日期时间事件编号日志编号时间地点事件人物个人财产管理编号总收入消费项目消费金额消费时间剩余金额图2:各项信息管理的E-R图3.2.2数据库逻辑结构设计根据关系模型的转换原则,上面的ER图可转换为如下所示的关系模型:用户(姓名,密码)通讯录(姓名,联系方式,城市,工作地点,备注)备忘录(编号,日期,时间,事件,地点)日志(编号,时间,地点,事件,人物)个人财产管理(编号,总收入,消费项目,消费金额,消费时间)根据上面的E-R图设计及

8、关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:表1:用户信息表member的表结构主码列 名数据类型宽度允许空否Pk用户名Char20N 密码Char10Y表2:通讯录管理表tongxunlu的表结构主码列 名数据类型宽度空否Pk姓名Char10N 联系方式Char15Y 工作地点Char50Y 城市Char 10Y 备注Char50Y表3:备忘录管理表beiwanglu的表结构主码列 名数据类型宽度空否Pk编号int4N 日期Char10Y 时间Char10Y 事件Char 1

9、00Y 地点Char50Y表4:日志管理表diary的表结构主码列 名数据类型宽度空否Pk编号Int4N 时间Char20Y 地点Char50Y 事件Char 300Y 人物Char30Y表5:个人财务管理表mgproperty的表结构主码列 名数据类型宽度空否Pk编号Int4N 总收入 Float8Y 消费项目Char60Y 消费金额Float 8Y 消费时间Char10Y四、 系统实现结合JSP和java进行数据库应用开发的特点,设计过程可按如下步骤进行:l  

10、       创建数据库,建立数据源l         创建主界面和登录页面l         用JSP页面显示和JavaBean后台运行管理实现系统各项功能4.1创建数据库,建立数据源4.1.1数据库的创建在SQLserver 2000中建立一个新的数据库,命名为:student,然后分别建立5个表,命名为:member、tongxunlu、beiwanglu、diary、m

11、gproperty。4.1.2数据源的建立利用数据源连接,开始控制面板管理工具数据源(ODBC),在系统DSN中添加数据源,名为mymoon,选择SQL server验证,用户名为m,密码123456,选择默认数据库为student。4.2创建主界面和登陆界面4.2.1主界面如图1所示:图1:main.jsp主界面main.jsp代码如下:<% page contentType="text/html;charset=GB2312"%><html><body background="8.jpg"><center&g

12、t;<font size=6><P>&nbsp;</P><P>&nbsp;</P><P>个 人 信 息 管 理 系 统</P></font></center><br><br><table cellSpacing="1" cellPadding="1" width="500" align="center" border="1"><tr

13、 valign="bottom"><td height="20" align="center"><a href="login.jsp"><b>用户入口</b></a></td><td align="center"><a href="updatepassword.jsp"><b>修改密码</b></a></td></tr&g

14、t;</table></body></html>4.2.2用户登陆入口如图2:图2:login.jsp登陆界面login.jsp代码如下:<% page contentType="text/html;charset=GB2312" %><HTML><BODY background="11.jpg"><Font size=2><CENTER><P><font size=4>输入用户名和密码:</font><FORM ac

15、tion="denglu.jsp" Method="post"><BR>登录名称:<Input type=text name="name"><BR>输入密码:<Input type=password name="password"><BR><Input type=submit name="g" value="提交"></Form></CENTER></BODY>&

16、lt;/HTML>登陆成功,跳往个人主页,如图3:图3:denglu.jsp若输入用户名或密码错误,则给出以下提示:图4:denglu.jspdenglu.jsp代码如下:<% page contentType="text/html;Charset=GB2312"%><% page import="java.sql.*"%><% page import="java.util.*"%><% page import="java.text.*"%><% page

17、 import="java.io.*"%><% page import="java.lang.*"%><html><style type="text/css"></style><body background="11.jpg"><%String loginname=request.getParameter("name").trim();String loginpassword=request.getParameter(&qu

18、ot;password").trim();%><%Connection con; Statement stm; String sql; ResultSet rs; try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:mymoon","m","123456");stm=con.createStatement();sql="select * from m

19、ember"rs=stm.executeQuery(sql);int m=0;while(rs.next()if(loginname.equals(rs.getString(1).trim()&&loginpassword.equals(rs.getString(2).trim()%> <jsp:forward page="user.jsp"/><% m=1; break; if(m=0) out.print("用户名或密码错误,请重登。");%><a href="login.jsp

20、">返回用户登录页面</a><BR><a href="main.jsp">返回系统界面</a><%><%mit(); con.close(); stm.close(); rs.close();catch(Exception e)e.printStackTrace();%></BODY></HTML>4.3实现系统各项功能4.3.1 通讯录的添加,删除,更新,查询(1)添加通讯录名单注:页面有提示名字不可重复。添加成功图5:add1.jsp代码add1.jsp如下:

21、<% page contentType="text/html;charset=GB2312" %><% page import="java.sql.*" %><% page import="servlet.Query"%><% page import="servlet.Add"%><jsp:useBean id="look" class="servlet.Query" scope="request" /

22、><jsp:useBean id="add" class="servlet.Add" scope="request" /><jsp:setProperty name= "look" property="ODBCDataSource" value="mymoon" /><jsp:setProperty name= "look" property="tableName" value="tongx

23、unlu" /><jsp:setProperty name= "look" property="user" value="m" /><jsp:setProperty name= "look" property="secret" value="123456" /><HTML><BODY background="2.jpg" ><P><Font size=6> 通讯录<

24、;/Font><Font size=4> <A href="user.jsp">主页</A> <A href="renew1.jsp">更新操作</A> <A href="delete1.jsp">删除操作</A> <A href="keywordquery1.jsp">查询</A><P>名字是主键,不可重复,请输入新记录的相应字段的值:<FORM action=""

25、; method=post><BR>输入姓名:<Input type="text" name="name" size=18><BR>输入联系方式:<Input type="text" name="connect" size=15><BR>输入工作地点:<Input type="text" name="work" size=15><BR>输入城市:<Input type="

26、text" name="city" size=18><BR>输入备注:<textarea name="beizhu" cols="18" rows="2"></textarea><BR><Input type="submit" name="b" value="提交添加"><Input type="reset" name="b1" val

27、ue="重置"><jsp:setProperty name= "add" property="*" /><br>你添加记录操作的结果:<jsp:getProperty name= "add" property="addMessage" /><P>数据库当前的数据记录是: <jsp:getProperty name= "look" property="queryResult" /></F

28、ont></BODY></HTML>Add.java代码如下:package servlet;import java.sql.*;public class Add String name="", connect="",work="",city="",beizhu="" String addMessage="" public Add() try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver&quo

29、t;); catch(Exception e) public void setName(String s) name=s.trim(); try byte bb=name.getBytes("ISO-8859-1"); name=new String(bb,"gb2312"); catch(Exception e) public void setConnect(String s) connect=s.trim(); try byte bb=connect.getBytes("ISO-8859-1"); connect=new Stri

30、ng(bb,"gb2312"); catch(Exception e) public void setWork(String s) work=s.trim(); try byte bb=work.getBytes("ISO-8859-1"); work=new String(bb,"gb2312"); catch(Exception e) public void setCity(String s) city=s.trim(); try byte bb=city.getBytes("ISO-8859-1"); cit

31、y=new String(bb,"gb2312"); catch(Exception e) public void setBeizhu(String s) beizhu=s.trim(); try byte bb=beizhu.getBytes("ISO-8859-1"); beizhu=new String(bb,"gb2312"); catch(Exception e) public String getAddMessage() String insertCondition="INSERT tongxunlu value

32、s('"+name+"','"+connect+"','"+work+"','"+city+"','"+beizhu+"')" String str="" Connection con; Statement sql; try con=DriverManager.getConnection("jdbc:odbc:mymoon","m","1

33、23456"); sql=con.createStatement(); if(name.length()>0) int m=sql.executeUpdate(insertCondition); if(m!=0) str="对表中添加"+m+"条记录成功" else str="添加记录失败" else str="必须要有姓名" con.close(); catch(SQLException e) str="输入的序号不允许重复"+e; return str; Query.java

34、代码如下:package servlet;import java.sql.*;public class Query String ODBCDataSource="" /ODBC数据源名称 String tableName="" /表的名字 String user="" ; /用户 String secret="" ; /密码 StringBuffer queryResult; /查询结果 public Query() queryResult=new StringBuffer(); try Class.forName

35、("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) queryResult=new StringBuffer(); queryResult.append(""+e); public void setODBCDataSource(String s) ODBCDataSource=s.trim(); public String getODBCDataSource() return ODBCDataSource; public void setTableName(String s)

36、 tableName=s.trim(); public String getTableName() return tableName; public void setSecret(String s) secret=s.trim(); public String getSecret() return secret; public void setUser(String s) user=s.trim(); public String getUser() return user; public StringBuffer getQueryResult() Connection con; Stateme

37、nt sql; ResultSet rs; try queryResult.append("<table border=1>"); String source="jdbc:odbc:"+ODBCDataSource; String id=user; String password=secret; con=DriverManager.getConnection(source,id,password); DatabaseMetaData metadata=con.getMetaData(); ResultSet rs1=metadata.getC

38、olumns(null,null,tableName,null); int 字段个数=0; queryResult.append("<tr>"); while(rs1.next() 字段个数+; String clumnName=rs1.getString(4); queryResult.append("<td>"+clumnName+"</td>"); queryResult.append("</tr>"); sql=con.createStatement(); r

39、s=sql.executeQuery("SELECT * FROM "+tableName); while(rs.next() queryResult.append("<tr>"); for(int k=1;k<=字段个数;k+) queryResult.append("<td>"+rs.getString(k)+"</td>"); queryResult.append("</tr>"); queryResult.append("&

40、lt;/table>"); con.close(); catch(SQLException e) queryResult.append(e); return queryResult; (2)删除记录删除成功!图6:delete1.jsp若删除的记录不存在,则出现以下提示:图7:delete1.jsp若未填写要删除通讯人员的姓名,直接提交,则会出现以下提示:图8:delete1.jspdelete1.jsp代码如下:<% page contentType="text/html;charset=GB2312" %><% page import=

41、"java.sql.*" %><% page import="servlet.Query"%><% page import="servlet.Delete"%><jsp:useBean id="look" class="servlet.Query" scope="request" /><jsp:useBean id="del" class="servlet.Delete" scope=&q

42、uot;request" /><jsp:setProperty name= "look" property="ODBCDataSource" value="mymoon" /><jsp:setProperty name= "look" property="tableName" value="tongxunlu" /><jsp:setProperty name= "look" property="use

43、r" value="m" /><jsp:setProperty name= "look" property="secret" value="123456" /><HTML><BODY background="2.jpg" ><P><Font size=6> 通讯录</Font><Font size=4> <A href="user.jsp">个人主页</A&g

44、t; <A href="renew1.jsp">更新操作</A> <A href="add1.jsp">添加操作</A><A href="keywordquery1.jsp">查询</A><P>根据姓名删除通讯名单<FORM action="" method=post> 输入要删除的姓名:<Input type="text" name="name" size=10>&l

45、t;BR><Input type="submit" name="b" value="提交删除"><jsp:setProperty name= "del" property="*" /><br>你添加记录操作的结果:<jsp:getProperty name= "del" property="delMessage" /><P>数据库当前的数据记录是: <jsp:getProperty n

46、ame= "look" property="queryResult" /></Font></BODY></HTML>delete.java关键代码如下:public Delete() try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) public String getDelMessage() String delCondition="DELETE FROM tongxu

47、nlu WHERE 姓名 = "+"'"+name+"'" String str="" Connection con; Statement sql; try con=DriverManager.getConnection("jdbc:odbc:mymoon","m","123456"); sql=con.createStatement(); if(name.length()>0) int m=sql.executeUpdate(delCondi

48、tion); if(m!=0) str="对表中删除"+m+"条记录成功" else str="删除记录失败" else str="必须指定要删除记录的姓名" con.close(); catch(SQLException e) str="姓名不存在" return str; (3)更新原记录注意:若某一项为空或者没更新,那这一项自动为空,并不会保存原来的信息。以下只贴出更新成功的操作。更新成功!图9:renew1.jsprenew1.jsp代码如下:<% page contentType

49、="text/html;charset=GB2312" %><% page import="java.sql.*" %><% page import="servlet.Query"%><% page import="servlet.Renew"%><jsp:useBean id="look" class="servlet.Query" scope="request" /><jsp:useBean

50、id="renew" class="servlet.Renew" scope="request" /><jsp:setProperty name= "look" property="ODBCDataSource" value="mymoon" /><jsp:setProperty name= "look" property="tableName" value="tongxunlu" />

51、<jsp:setProperty name= "look" property="user" value="m" /><jsp:setProperty name= "look" property="secret" value="123456" /><HTML><BODY background="2.jpg" ><P><Font size=6> 通讯录</Font><Fo

52、nt size=4> <A href="user.jsp">主页</A> <A href="add1.jsp">添加操作</A> <A href="delete1.jsp">删除</A> <A href="keywordquery1.jsp">查询</A> <P>名字是主键,不可重复,请输入新记录的相应字段的值:<FORM action="" method=post>&l

53、t;BR>输入记录的姓名<Input type="text" name="name" size=18><BR>输入新联系方式:<Input type="text" name="connect" size=15><BR>输入新工作地点:<Input type="text" name="work" size=15><BR>输入新城市:<Input type="text" nam

54、e="city" size=18><BR>输入新备注:<textarea name="beizhu" cols="15"></textarea><BR><Input type="submit" name="b" value="提交更新"><jsp:setProperty name= "renew" property="*" /><br>你添加记录操

55、作的结果:<jsp:getProperty name= "renew" property="renewMessage" /><P>数据库当前的数据记录是: <jsp:getProperty name= "look" property="queryResult" /></Font></BODY></HTML>Renew.java关键代码如下:public Renew() try Class.forName("sun.jdbc.odbc.

56、JdbcOdbcDriver"); catch(ClassNotFoundException e) public String getRenewMessage() String updateCondition="UPDATE tongxunlu SET 联系方式= '"+connect+"'"+ ", 工作地点 = '"+work+ "', 城市 = '"+city+ "', 备注 = '"+beizhu+ "'

57、 WHERE 姓名 = '"+name+"'" String str="" Connection con; Statement sql; try con=DriverManager.getConnection("jdbc:odbc:mymoon","m","123456"); sql=con.createStatement(); int m=sql.executeUpdate(updateCondition); if(name.length()>0) if(m!=

58、0) str="对表中第"+m+"条记录更新成功" else str="更新失败" else str="必须选择要更新的姓名" con.close(); catch(SQLException e) str="你还没有提交更新的数据或"+e return str; (4)关键字查询注:查询时不包含空格。图10:keywordquery1.jsp根据不同条件进行查询,得到如图11结果:图11:show1.jspkeywordquery1.jsp代码如下:<% page contentType=

59、"text/html;charset=GB2312" %><HTML><BODY background="2.jpg"><Font size=3><P><font size="5">通讯录查询</font><A href="user.jsp">主页</A> <A href="add1.jsp">添加操作</A> <A href="delete1.jsp&q

60、uot;>删除</A><A href="renew1.jsp">更新</A><FORM action="show1.jsp" method=post name=form> 选择: <Select name="ziduan"> <Option value="姓名">姓名 <Option value="城市">城市 </Select> 模糊查询 <BR>输入关键字: <INPUT

61、type="text" name="keyWord"> <Input type=submit name="g" value="提交"></Form></BODY></HTML>show1.jsp代码如下:<% page contentType="text/html;charset=GB2312" %><jsp:useBean id="database" class="servlet.KeyWor

62、dQuery" scope="request" /><jsp:setProperty name= "database" property="ziduan" param="ziduan"/><jsp:setProperty name= "database" property="keyWord" param="keyWord"/><HTML><Body background="2.jpg"><P><Font size=6> 通讯录</Font><A href="user.jsp">主页</A><A href="add1.jsp&qu

温馨提示

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

评论

0/150

提交评论