java实训报告Word格式文档下载.docx
《java实训报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java实训报告Word格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。
数据库的安全性除自身提供的以外,各应用系统还可通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性。
(2)可靠性
学生信息的可靠性主要体现在它的运行情况上。
例如如何使学生信息管理系统在不同的系统平台上都可以稳定的运行,如何实现数据库与学生信息管理系统的合理连接,在接到非法操作后如何响应等等。
这些都会影响到系统内信息的完整和项目管理的正常进行,因此要格外重视。
2数据库设计
在这个学生信息管理系统的开发中,我们选用SQLServer2000作为系统服务数据库。
设置数据表的列名、数据类型等,如下图2所示。
图2学生信息数据表
数据库需求分析是数据库结构设计的第一个阶段,是非常重要的一个阶段。
在这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的进一步设计打下基础。
再仔细分析和调查学生信息管理过程的基础上,可以得到本系统的实体E-R图,如图3、图4、图5、图6和图7所示。
在此次程序设计中,通过对学生信息管理的内容和实体E-R图的分析而设计的数据项和数据结果如下所示:
(1)学生个人信息记录:
学号、姓名、班级、性别、生日、电话、联系地址。
(2)班级信息记录:
班级编号、班级名称、所属院系、班主任、辅导员。
(3)学生课程信息记录:
记录号、学号、姓名、所选课程编号。
(4)课程设置记录:
课程编号、课程号、学时、学分、任课老师、上课地点。
(5)学生奖励记录:
记录号、学号、姓名、获奖时间、奖励名称、具体描述。
(6)学生职务记录:
记录号、学号、姓名、任课时间、职务名称、具体描述。
图3学生个人信息E-R图
图4所选课程E-R图图5学生班级信息E-R图
图6学生奖励信息表E-R图
图7学生职务信息表E-R图
有了上面的数据结构。
数据项和E-R实体图,就能进行数据库设计了。
在对数据项和结构分析的基础上可以形成数据库中的表格以及个人信息表、学生所选课程表、学生奖励信息学生职务信息表。
为了数据记录实例的完整性,系统中包括了一些数据表:
表1学生个人信息表的结构
字段名
字段类型
可否为空
说明
Student-id
int
Notnull
学生学号
Student-name
Char(10)
学生姓名
Student-class
Varchar
学生班级
Student-sex
学生性别
Student-birthday
Datetime
null
学生生日
Student-tel
联系电话
Student-address
联系地址
表2学生所选课程表
数据类型
Count-id
Int
记录号
Course-id
Course-name
Course-no
所选课程编号
表3学生奖励信息表
Gcheck-id
Gcheck-no
Gcheck-name
Gcheck-time
daratime
获奖时间
Gcheck-title
Char(30)
获奖内容
Gcheck-disc
Char(50)
获奖具体描述
表4学生职务信息表
Bcheck-id
Nutnull
Bcheck-no
Bcheck-name
Bcheck-time
任职时间
Bcheck-title
职务内容
Bcheck-dise
null
职务具体描述
表5学生班级信息表
Class-id
班级编号
Class-name
班级名称
Class-teacher
班主任
Class-assitant
辅导员
Class-dcp
所属院校
数据库是集数据库基本知识和数据库设计技术、计算机基础知识和程设序计方法、学生信息管理的原理和方法及应用领域的知识于一身的综合科学,涉及了多学科、多领域。
数据库应用系统经过试运行后即可投入正式使用。
在数据库系统运行过程中必须不断地对其进行评价、修改、调整。
3系统实现
3.1登录窗体和系统主界面设计
当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。
登录成功后,将显示系统主界面。
登录窗体的名称为FrmLogin,它的界面布局,如图8所示。
图8登陆界面
程序的运行过程如下:
判断是否输入了用户名和密码,如果没有输入,则返回,要求用户输入。
将输入的用户名和密码赋值到变量NameKey和PasswordKey中,如果通过密码验证,将当前用户信息保存到curUser对象中,以便后面使用。
关闭登录窗体。
本系统的主界面,如图9所示。
图9主界面
登录窗体和系统主界面设计代码如下:
classLogin
{
voidLogin()
finalJFrameloginframe=newJFrame("
登陆界面"
);
loginframe.setBounds(200,200,400,500);
loginframe.setVisible(true);
loginframe.setResizable(true);
loginframe.setLayout(null);
finalJTextFieldtext1=newJTextField(10);
finalJPasswordFieldtext2=newJPasswordField(10);
JButtonbtn1=newJButton("
登陆"
JButtonbtn2=newJButton("
取消"
JLabellabel1=newJLabel("
用户名"
JLabellabel2=newJLabel("
密码"
publicvoidactionPerformed(ActionEventevent)
Stringname=text1.getText();
Stringpassword=text2.getText();
{JOptionPaneb=newJOptionPane();
b.showMessageDialog(null,"
账号有误"
"
消息对话框"
JOptionPane.INFORMATION_MESSAGE);
}
else
st.executeUpdate("
INSERTINTOLoginVALUES('
"
+username+"
'
'
+pass+"
)"
loginframe.dispose();
JOptionPaneb=newJOptionPane();
登录成功"
消息对话框"
}
3.2添加用户界面
点击使用里面有管理员登陆、超级管理员登陆、普通学生登陆。
鼠标右键单击普通学生登陆,单击再次确认登陆。
点击用户管理里面有添加用户、删除用户、更改用户、修改密码。
如图10所示。
图10用户管理界面
如上图界面所示,选择用户管理里面的添加用户,进行对新用户的添加,如果出现问题右键点击帮助,进行调解,也可以选择退出,重新进入界面,填写学号、姓名、性别、籍贯、年龄和电话右键单击确定,在进行添加新用户如图11所示。
图11添加学生信息界面
添加学生信息代码如下:
classAddStu
Stringsage;
Stringssex;
Stringsno;
Stringsaddress;
Stringsphone;
Stringsname;
voidAddStu()
JFrameaddframe=newJFrame("
添加学生信息窗体"
addframe.setDefaultCloseOperation
(2);
addframe.setBounds(400,200,400,500);
addframe.setVisible(true);
addframe.setResizable(true);
addframe.validate();
JLabelno=newJLabel("
学号"
JLabelname=newJLabel("
姓名"
JLabelage=newJLabel("
年龄"
JLabelsex=newJLabel("
性别"
JLabeladdress=newJLabel("
籍贯"
JLabelphone=newJLabel("
电话"
JLabeltitle=newJLabel("
需要添加的基本信息"
JLabel.CENTER);
JButtonaddbtn=newJButton("
添加"
添加成功"
while(rs.next())
Stringno=rs.getString
(1);
Stringname=rs.getString
(2);
Stringage=rs.getString(3);
Stringsex=rs.getString(4);
Stringaddress=rs.getString(5);
Stringphone=rs.getString(6);
System.out.println(no+"
"
+name+"
+age+"
+sex+"
+address+"
+phone);
con.close();
3.3修改用户界面
录入学生的相关信息后,如果你不满意,可以对相关信息进行修改如图12所示。
图12修改界面
修改学生信息代码如下:
classAlterStu
voidAlterStu()
JFramedeleteframe=newJFrame("
更改学生信息"
deleteframe.setLayout(null);
JLabellabel=newJLabel("
需要修改的学生学号"
deleteframe.setVisible(true);
deleteframe.setBounds(350,350,450,350);
JButtonbtn=newJButton("
确定"
if(rs==null)
该学生不存在"
修改学生信息"
addframe.setBounds(400,200,450,600);
addframe.setLayout(newBorderLayout());
Boxbasebox,box1,box2,box3,box4;
basebox=Box.createHorizontalBox();
box1=Box.createVerticalBox();
box2=Box.createVerticalBox();
box3=Box.createVerticalBox();
box4=Box.createVerticalBox();
JLabeltitle=newJLabel("
所要修改学生的基本信息"
修改"
if(ok==1)
修改成功"
}
3.4删除用户界面
在界面输入要删除用户的学号,右键单击“确定”,用户删除成功,如图13所示。
图13删除界面
删除学生信息,输入学生学号,右键单击确定,学生信息就会删除,代码如下:
classDeleteStu
voidDeleteStu()
删除学生信息"
请输入要删除学生的学号"
deleteframe.setBounds(300,300,400,300);
deleteframe.add(label);
label.setForeground(Color.black);
finalJTextFieldtext=newJTextField(15);
text.setSize(100,60);
deleteframe.add(text);
deleteframe.add(btn);
btn.addActionListener(newActionListener()
Connectioncon;
Statementst;
ResultSetrs;
Stringsno=text.getText();
try
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
catch(ClassNotFoundExceptione)
System.out.println(e);
con=DriverManager.getConnection("
jdbc:
odbc:
pan"
"
st=con.createStatement();
intok=st.executeUpdate("
DELETEFROMstudentWHEREsno='
+sno+"
删除成功"
3.5查询用户界面
可以通过学生信息管理系统进行查询学生的信息如图14所示。
图14学生信息界面
学生信息代码如下:
classShowStu
voidShowStu()
JFrameframe1=newJFrame("
学生信息窗口"
frame1.setBounds(300,300,500,400);
frame1.setDefaultCloseOperation
(2);
JTabletable;
Objecta[][]=null;
Objectname[]={"
};
st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery("
SELECT*FROMstudent"
rs.last();
intlastnumber=rs.getRow();
a=newObject[lastnumber][6];
inti=0;
rs.beforeFirst();
a[i][0]=rs.getString
(1);
a[i][1]=rs.getString
(2);
a[i][2]=rs.getString(3);
a[i][3]=rs.getString(4);
a[i][4]=rs.getString(5);
a[i][5]=rs.getString(6);
i++;
catch(SQLExceptione)
table=newJTable(a,name);
frame1.setLayout(newBorderLayout());
frame1.add(newJScrollPane(table),BorderLayout.CENTER);
frame1.setVisible(true);
frame1.validate();
实习心得
在本学期的最后两周,我们在学校机房进行了为期两周的JAVA实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,当然学知识可不能凭自己的爱好和一时兴趣,要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。
所以学好java语言有很大的用处,这次实训,面对一道陌生的题目和要求时,不应慌张和无措,首先应该想到这和课本上的哪些知识具有结合点,回忆和分析这种结构的算法和具体实施方法,综合考虑其他的方面,例如:
该题的易写性和易懂性及其他的问题的可利用性。
在编写时,一个小小的符号,一个常量变量的设定,这都无不考量着我们的细心和严谨,所以学习JAVA,不仅对我们以后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先应具有的良好心理素质,那就是冷静思考和专心致志。
对待学术知识应该是严谨和认真。
这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感美不可言,心情愉悦至极。
最后终于要结束了,大家都有种释怀的感觉,当然我想我更多的是兴奋和自己掌握了知识之后的饱满感,学知识就像吃东西一样,吃饱了就应该好好的消化。
要不断的温习和运用,做到举一反三,将所学知识充分融入到平时的学习生活中去,为以后的工作做好坚实的基础。
感谢学校和老师能够为我们提供这次机会,让我们更好的掌握和了解JAVA这门语言。
谢谢!
参考文献
(1)张勇毅姚华.Java+SQLServer数据库应用系统开发与实例.人民邮电出版社
(2)张孝祥.Java就业培训教程.清华大学出版社
(3)马文强,王殊宇.java项目开发实例自学手册.人民邮电出版社
(4)苗春义.java项