




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库系统原理》课程设计报告说明书学生信息管理系统学生姓名学 号所在专业所在班级指导教师提交时间评阅情况成 绩目 录读书笔记错误!未定义书签。学生信息管理系统概述21.1 研究背景21.2开发意义2系统需求分析22.1开发环境和软件22.2系统设计与功能分析23数据库设计33.1系统概念结构设计33.2系统逻辑结构设计43.3数据库实现53.3.1数据库关系图53.3.2SQL语句实现5系统模块详细设计74.1用户登录模块74.2 各用户操作模块74.2.1 管理员操作模块74.2.2 教师操作模块74.2.3 学生操作模块7系统运行与测试75.1管理员登录75.2教师登录85.3学生登录96.课程设计总结97.附录(代码)10.读书笔记关于网上花店管理系统的读书笔记 :在网上购物逐步平民化的今天,网上购物人数不断增加,现代 IT技术和互联网的结合。给了市场创造了无限商机!我阅读了一片“网上花店管理系统”的论文。该论文主要研究网上花店管理系统。该系统以 MySQL作为后台数据库,JSP作为前台开发工具,通过 Java中的 JDBC连接数据库。提供给用户网上浏览,购买,支付等功能,同时.管理员对可以该系统进行维护和管理!SQLServer安全可靠,性能好,易用性强, JSP的Web运用跨平台,系统底层采用 Java开发。Java语言简单,面向对象,安全性高的特点,运用 Serlvet模式和Tomcat服务器。这几点的综合搭配使得该系统灵活方便易用,简化了动态网站的开发。网上花店管理系统实现了用户注册,网上订购支付,留言,购物车,鲜花资料管理和用户管理,订单管理等功能。 SQl数据库实现了用户注册登记信息的存储,和网站资料维护,更新等使得数据的管理更加便利,高效JSP则为用户提高动态图形界面,简化了操作,提高了易用性。论文还详细介绍了系统的逻辑结构设计,逻辑图,总功能设计,和数据库设计等。该系统即使是不懂web技术的人也可以熟悉运用。开发工具和数据库的工具有很多,各有各的优势。在互联网大行其道的时代,电脑技术顺应着时代的发展,只有我们把握运用好各类技术,相互结合与利用,才能制作出更好的软件和程序。1学生信息管理系统信管1081班,200811622124,吴晓阳指导教师:郑赞红学生信息管理系统概述1.1 研究背景学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。 随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率 ,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。1.2开发意义随着这些年电脑计算机的速度质的提高,成本的下降, IT 互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量?毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教案质量与办学水平有着显著意义?系统需求分析2.1 开发环境和软件(1)操作系统:Windows7(2)数据库软件:SQLServer2005(3)Java开发工具:Eclipse2.2 系统设计与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。该系统实现的大致功能:1. 用户登陆界面。该界面可以选择使用者的身份,“管理员,教师,学生”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。学生管理界面。提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。2. 教师管理界面。提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。3.管理员管理界面。拥有最高的权限。允许添加教师信息和课程信息等。4. 登录的用户信息分别存储在SQL数据库的“管理员信息表”,“教师信息表”,“学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。保证了本学生管理系统的安全性。数据库设计3.1 系统概念结构设计教师ID教师姓名教师登录密码课程学号课程号 成绩成绩管理员ID学籍管理员
课程号课程名称教师ID姓名学号性别籍贯登录密码班级号籍贯班级登录密码总人数班级名称实体属性表: 班级号实体 属性教师 教师ID,教师姓名,登录密码课程 课程号,课程名称,教师 ID管理员 管理员ID,登录密码班级 班级号,班级名称,总人数学籍 学号,姓名,性别,班级号,籍贯,登录密码成绩 学号,课程号,成绩3.2系统逻辑结构设计教师信息表:字段名类型空值约束条件教师IDvarchar(8)notnull主键教师姓名varchar(8)notnull登录密码varchar(8)notnull课程信息表:字段名类型空值约束条件课程号varchar(8)notnull主键课程名称varchar(12)notnull教师IDvarchar(8)notnull外键班级信息表:字段名类型空值约束条件班级号varchar(8)notnull主键班级名称varchar(8)notnull所属学院varchar(6)班级人数nchar(4)管理员信息表:字段名类型空值约束条件管理员IDvarchar(10)notnull主键登录密码varchar(10)notnull成绩信息表:字段名类型空值约束条件班级号varchar(15)notnull主键,外键班级名称varchar(8)notnull主键,外键所属学院smallintnotnull学籍信息表:字段名类型空值约束条件学号intnotnull主键姓名varchar(30)notnull性别char(2)班级号varchar(30)notnull外键籍贯char(10)登录密码moneynotnull3.3 数据库实现3.3.1 数据库关系图3.3.2 SQL语句实现数据表的创建:(1)教师信息表创建:createtable 教师信息表 (教师IDvarchar(8)primarykey,教师姓名varchar(8)notnullunique,登录密码varchar(8)notnull,)(2)课程信息表创建:createtable 课程信息表 (课程号varchar(8)primarykey,课程名称varchar(12)notnull,教师IDvarchar(8)notnullforeignkey( 教师ID)references 教师信息表(教师ID))(3)班级信息表创建:createtable 班级信息表 (班级号varchar(8)notnullprimarykey,班级名称varchar(8)notnullunique,所属学院varchar(8),班级人数 nchar(4))(4)学籍信息表创建:createtable 学籍信息表 (学号varchar(15)primarykey,姓名varchar(8)notnull,性别varchar(4),班级号varchar(8)notnull,籍贯varchar(5),登录密码varchar(6)notnullforeignkey( 班级号)references 班级信息表 (班级号))(5)成绩信息表创建:createtable 成绩信息表 (学号varchar(15),课程号varchar(8),成绩
smallintprimarykey(foreignkey(foreignkey(
学号,课程号)学号)references课程号)references
学籍信息表(课程信息表
学号),(课程号
))(6)管理员信息表创建:createtable 课程信息表 (管理员IDvarchar(8)primarykey,登录密码 varchar(12)notnull)视图的创建:“教师课程详细信息”视图创建:createview
教师课程详细信息asSELECT教师信息表
教师信息表.登录密码
.
教师ID,
教师信息表
.
教师姓名
,课程信息表
.
课程号
,课程信息表
.
课程名称
,FROM
教师信息表JOIN
课程信息表
ON
教师信息表
.
教师
ID=
课程信息表
.
教师ID“学生成绩信息”视图创建:createview学生成绩信息asSELECT学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,课程信息表.课程名称,成绩信息表.成绩FROM成绩信息表JOIN学籍信息表ON成绩信息表.学号=学籍信息表.学号JOIN班级信息表ON班级信息表.班级号=学籍信息表.班级号JOIN课程信息表ON课程信息表.课程号=成绩信息表.课程号存储过程创建:“单科成绩排名”创建:createproc[dbo].[ 单科成绩排名 ]@kechennamechar(8),@classnamechar(8)asselect学籍信息表.学号,姓名,成绩from成绩信息表join课程信息表on课程信息表.课程号=成绩信息表.课程号join学籍信息表on学籍信息表.学号=成绩信息表.学号join班级信息表on班级信息表.班级号=学籍信息表.班级号where课程名称=@kechennameand班级名称=@classnameorderby 成绩desc“全班排名”创建:createproc[dbo].[全班排名]@classchar(8)asselect学籍信息表.学号,姓名,avg(成绩)as平均分,sum(成绩)as总分from成绩信息表join学籍信息表on成绩信息表.学号=学籍信息表.学号join班级信息表on班级信息表.班级号=学籍信息表.班级号where班级信息表.班级名称=@classgroupby学籍信息表.姓名,学籍信息表.学号orderbyavg(成绩)desc,学籍信息表.学号系统模块详细设计4.1 用户登录模块4.2 各用户操作模块4.2.1 管理员操作模块(图 1)4.2.2 教师操作模块(图 2)图1 图24.2.3 学生操作模块5. 系统运行与测试5.1管理员登录点击“管理员”按钮。输入正确的ID和密码。验证成功则可进入管理员管理界面。管理员ID号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。(1)添加教师信息。在弹出的输入栏中输入正确的数据。如果输入重复的信息则会弹出。如果某项未填则弹出。输入的数据会分别写进“教师信息表”和“课程信息表”中。增加的教师信息,允许让更多的教师登录本系统进行管理操作!(2)修改教师信息如果要修改的教师信息不存在,则(3)删除信息修改输入的教师信息不存在,则(4)查询教师信息5.2教师登录在登录界面选择“教师”按钮,并输入正确的 ID号和密码,即可登录成功!输入错误则会弹出提示!ID 号输入正确,登录成功!进入教师管理的操作界面:(1)显示学生信息。(2)添加学生信息新添加的信息会保存在学籍信息表中!如果输入的信息已经存在,则显示如果输入的数据正确,则3)修改学生信息,输入正确则显示!删除学生信息,(5)录入学生成绩(6)修改学生成绩删除学生成绩(8)查询学生成绩(9)所有成绩排名(10)单科成绩排名(11)更改登录密码修改成功后即可用新的密码进行登录!5.3 学生登录输入正确的ID号和密码,即可正常登录!(1)显示学生信息(2)查询个人成绩(3)单科成绩排名(4)全班成绩排名(5)修改密码修改密码后会更新学生学籍表里面的登录密码,下次就可以用新密码登录。点击 后,就可以安全退出学生管理系统了!6.课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。7.附录(代码)由于篇幅有限,所以只附上主要功能的代码:登陆界面与主功能界面:publicclass Sqlextends JFrame implements ActionListener{JFrame mm=newJFrame( "您好!请您先登录! ")。JTextField t2=newJTextField( null ,15) 。JTextField t4=newJPasswordField( null ,15) 。public String zh=null 。JRadioButton b=newJRadioButton( "教师")。JRadioButton b1=newJRadioButton( "学生")。JRadioButton b2=newJRadioButton( "管理员")。publicvoid jiemian(){mm.setSize(300,340) 。mm.setVisible( true )。mm.setLocation(200,300) 。mm.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE)。JLabelt1= newJLabel( "ID号:")。JLabelt3= newJLabel( "密码:" )。JButtondenglu2= newJButton( "登录")
。denglu2.setContentAreaFilled(
false
)。Containern=
mm.getContentPane()
。n.setLayout(
null )。t1.setBounds(42,125,75,35)
。t2.setBounds(80,125,150,35)
。t3.setBounds(40,180,75,35)
。t4.setBounds(80,180,150,35)
。denglu2.setBounds(102,245,70,30)n.add(t1) 。n.add( t2)。n.add(t3)
。。
n.add(
t4)。n.add(denglu2) 。b.setBounds(130,85,70,30)b1.setBounds(70,85,70,30)b2.setBounds(190,85,70,30)
。。。ButtonGrouprg=
newButtonGroup()
。b.setSelected(b1.setSelected(b1.setSelected(
false )。true )。false )。n.add(
b)
。n.add(
b2)
。rg.add(
b2)
。
rg.add(
b)
。n.add( b1)。rg.add(b.setContentAreaFilled(b1.setContentAreaFilled(b2.setContentAreaFilled(
b1)
。false )。false )。false )。denglu2.addActionListener(
this
)。publicvoid
}actionPerformed(ActionEvente){JButtondenglu2=(JButton)e.getSource()if (b.isSelected()){zh=t2.getText() 。Stringmima= t4.getText() 。
。try {Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"
)。Connectionc=DriverManager. getConnection
("jdbc:odbc:
学生信息系统")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。ResultSetr=s.executeQuery( "select*from
教师信息表where
教师ID='"
+zh+"'and
登录密码
='"
+mima+"'"
)。r.last()
。if (r.getRow()==1){ mm.setVisible(r.beforeFirst()while (r.next()){JOptionPane.
false )。。showMessageDialog
(
null
,r.getString(
"教师姓名
")+"老师!您好!欢迎登录教师管理系统!
")
。
}JFramemmm=newJFrame()
。mmm.setSize(400,420)
。mmm.setVisible(
true )。mmm.setLocation(200,300)mmm.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE)。JLabelaaa= newJLabel( "学生信息管理:")。JLabelaaa1= newJLabel(JButtonb1= newJButton( "显示学生信息")。b1.setBounds(40,45,140,30)JButtonb2= newJButton( "添加学生信息")。b2.setBounds(200,45,140,30)JButtonb3= newJButton( "修改学生信息")。b3.setBounds(40,90,140,30)JButtonb4= newJButton( "删除学生信息")。b4.setBounds(200,90,140,30)JButtonb5= newJButton( "录入学生成绩")。b5.setBounds(40,170,140,30)JButtonb6= newJButton( "修改学生成绩")。b6.setBounds(200,170,140,30)JButtonb7= newJButton( "删除学生成绩")。b7.setBounds(40,215,140,30)JButtonb8= newJButton( "查询学生成绩")。b8.setBounds(200,215,140,30)JButtonb9= newJButton( "所有成绩排名")。b9.setBounds(40,260,140,30)JButtonb12= newJButton( "单科成绩排名")。b12.setBounds(200,260,140,30)JButtonb10= newJButton( "退出系统")。b10.setBounds(60,325,100,30)JButtonb11= newJButton( "修改密码")。b11.setBounds(220,325,100,30)aaa.setBounds(15,15,90,30) 。aaa1.setBounds(15,140,90,30) 。Containern=mmm.getContentPane() 。
"学生成绩管理。。。。。。。。。。。。
:")。n.setLayout(
null )。J_ActionListener1a1=newJ_ActionListener1()。J_ActionListener2a2=newJ_ActionListener2()。J_ActionListener3a3=newJ_ActionListener3()。J_ActionListener4a4=newJ_ActionListener4()。J_ActionListener5a5=newJ_ActionListener5()。J_ActionListener7a7=newJ_ActionListener7()。J_ActionListener8a8=newJ_ActionListener8()。J_ActionListener9a9=newJ_ActionListener9()。J_ActionListener10a10=newJ_ActionListener10()。J_ActionListener12a12=newJ_ActionListener12()。J_ActionListener11a11=newJ_ActionListener11()。n.add(b1)。n.add(b2)。n.add(b3)。n.add(b4)。n.add(b5)。n.add(b6)。n.add(b7) 。n.add(b8) 。n.add(b9) 。n.add(b10) 。n.add(aaa) 。n.add(aaa1) 。n.add(b11) 。n.add(b12) 。b1.addActionListener(a1) 。b2.addActionListener(a2)
。b3.addActionListener(a3)
。b4.addActionListener(a4)
。b5.addActionListener(a5)
。b6.addActionListener(a7)
。b7.addActionListener(a8)
。b8.addActionListener(a9) 。b9.addActionListener(a10)b10.addActionListener({ publicvoid{System.
。b11.addActionListener(a1)b12.addActionListener(a12)newActionListener()actionPerformed( final ActionEvente)exit (0) 。 }
。})
。((JComponent)mmm.getContentPane()).setOpaque( .URLurl=Sql. class .getResource( "未命名.jpg" )。ImageIconimg= newImageIcon(url) 。JLabelbackground= newJLabel(img) 。mmm.getLayeredPane().add(background, newInteger(Integer.background.setBounds(0,0,img.getIconWidth(),img.getIconHeight())
)。
MIN_VALUE))。。elsecatch
}{ JOptionPane. showMessageDialog}(Exceptione1){ e1.printStackTrace()
(
null}
,"教师ID或密码有误!请重新输入!
")
。
}}}publicstaticvoidSqlapp= newSql()
main(Stringargs[]){。app.jiemian() 。}}向数据库添加新的学生信息:class
DataBase{
//DataBase
类publicvoid Add(Stringxh,Stringxm,Stringxb,Stringbj,Stringjg,Stringmm)throws SQLException{ // 为学籍管理系统添加新记录try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"Connectionc=DriverManager.getConnection
)。("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet.
TYPE_SCROLL_SENSITIVE
,ResultSet.ResultSetr=s.executeQuery(='" +xh+"'" )。
CONCUR_UPDATABLE)。"select*from 学籍信息表
where
学号r.last()
。if
(r.getRow()==1){JOptionPane.
showMessageDialog
(
null
, "该学号的学生信息已存在")。}Elseif (xh.equals( "")){ // 判断新输入的学号是否为空JOptionPane. showMessageDialog ( null , "学号不能为空else { s.executeUpdate( "insertinto 学籍信息表 values('" +xh+"','" +xm+"','" +xb+"','" +bj+ "','" +jg+ "','" +mm+"')" )。s.close() 。c.close() 。JOptionPane. showMessageDialog ( null , "<html>" +"学号:" +xh+"<br>" +"姓名:"+xm+"<br>" +"性别:"+xb+"<br>" +"班级号:" +bj+ "<br>" +"籍贯:" +jg+ "<br>"+"登录密码:"+mm+"<br> 学生记录添加成功! ")
")。}。}catch
}(ClassNotFoundExceptione){JOptionPane.
showMessageDialog
(
null
,
"数据添加异常!
")
。}}publicvoid
DisplayAll(ResultSetr){JFramem= newJFrame( "显示所有学生信息m.setBounds(60,70,700,600) 。
")
。m.setVisible(
true )。JTextAreaaa=
newJTextArea()
。
aa.setBounds(0,0,700,600)
。Containerc1=m.getContentPane()
。c1.setLayout(
null
)。c1.add(aa)
。try { r.last()aa.append(
"\t
。学号"+"\t" +"r.beforeFirst()
姓名"+"\t"。
+"性别
"+"\t"
+"班级"+"\t"
+"
籍贯"+"\n"
)
。while
(r.next()){ aa.append( "第"+r.getRow()+ "行记录:" )。aa.append(r.getString( "学号"))。aa.append( "\t" +r.getString( "姓名"))。aa.append( "\t" +r.getString( "性别"))。aa.append( "\t" +r.getString( "班级"))。aa.append( "\t" +r.getString( "籍贯")+"\n"
)
。}}catch (Exceptione){ e.printStackTrace()publicvoid DisplayOne(Stringstr22)
。}}throws Exception{try{Connectionc=DriverManager. getConnection ("jdbc:odbc: 学生信息系统")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet.
CONCUR_UPDATABLE)
。名称息表.
as 班级,籍贯班级号 where
ResultSetr=s.executeQuery(from 学籍信息表 join学号='" +str22+ "'" )。
"select 学号,班级信息表 on 班级信息表// 执行查询的 SQL语句
.
姓名,性别, 班级班级号=学籍信r.last() 。int cc=r.getRow()if (cc==0){ JOptionPane.else {r.beforeFirst()while (r.next())
。showMessageDialog。
(
null
, "未查询到相关信息!
")
。
}{JOptionPane. showMessageDialog ( null , "<html>" +" 学号:"+r.getString( "学号")+"<br>" +"姓名:"+r.getString( "姓名")+"<br>"+"性别:"+r.getString( "性别")+"<br>" +"班级:"+r.getString( "班级")+"<br>"+"籍贯:"+r.getString( "籍贯")+"<br> 已查询到相关记录! ") 。}}}catch (Exceptione){ e.printStackTrace() 。}}publicvoid DeleteXh(Stringstr11) // 执行按学号删除学生记录的操作{ try{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver" )。Connectionc=DriverManager. getConnection ("jdbc:odbc: 学生信息系统")
。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。ResultSetr=s.executeQuery(='" +str11+ "'" )。
"select*from
学籍信息表
where
学号r.last()
。if
(r.getRow()==1){s.executeUpdate( "deletefrom 学籍信息表 whereJOptionPane. showMessageDialog ( null ,} else {JOptionPane. showMessageDialog
学号='" +str11+ "'" )。"学生记录删除成功! ") 。( null , "学籍系统中并无相关记录!")
。
}catch
}(Exceptione){}}publicvoid
DeleteXm(Stringstr13)
// 执行按姓名删除学生记录的操作{try{Class.
forName ("sun.jdbc.odbc.JdbcOdbcDriver"Connectionc=DriverManager. getConnection
)
。("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)ResultSetr=s.executeQuery( "select*from 学籍信息表 where='" +str13+ "'" )。
。姓名r.last()
。if (r.getRow()==1){s.executeUpdate(
"deletefrom
学籍信息表
where
姓名='" +str13+
"'"
)
。JOptionPane.
showMessageDialog
(
null
,
"学生记录删除成功!")
。}else { JOptionPane.
showMessageDialog
( null
, "学籍系统中并无相关记录!
")
。
}}catch (Exceptione){}}publicvoid{
UpdateXh(Stringxg,Stringstr15,Stringstr16)try
{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"
)
。Connectionc=DriverManager. getConnection
("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)ResultSetr=s.executeQuery( "select*from 学籍信息表 wherer.last() 。
。
学号='"
+xg+"'"
)
。if (r.getRow()==1){ s.executeUpdate(
"update
学籍信息表
set"+str15+ "='"JOptionPane.
+str16+ "'where 学号='" +xg+"'" )。 // 直接执行SQL语句修改showMessageDialog ( null , "学生记录修改成功! ") 。}else{JOptionPane. showMessageDialog ( null , "学籍系统中并无相关记录!") 。catch (Exceptione){JOptionPane.}}
}。showMessageDialog
}
(
null
, "学籍系统中并无相关记录!
")
。publicvoidtry {
UpdateXm(Stringstr18,Stringstr19,Stringstr20)
{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"
)
。Connectionc=DriverManager. getConnection
("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE
,ResultSet. CONCUR_UPDATABLE)。ResultSetr=s.executeQuery( "select*from 学籍信息表 where 姓名='" +str18+ "'" )。r.last() 。if (r.getRow()==1)"+str19+
"='"
+str20+ "'whereJOptionPane.
{s.executeUpdate(姓名='" +str18+showMessageDialog
"'"
"update)。( null
,
学籍信息表 set// 直接执行SQL语句修改"学生记录修改成功!") 。 }else {JOptionPane.
showMessageDialog
( null
, "学籍系统中并无相关记录!
")
。}
。}catch
(Exceptione){JOptionPane.}}
showMessageDialog
(
null
, "学籍系统中并无相关记录!
")
。publicvoidtry {
AddScore(Stringxh,Stringkch,Stringcj){Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"
)
。Connectionc=DriverManager. getConnection
("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。if (xh.equals( "")||kch.equals( "")||cj.equals( "")){ialog ( null , "输入框不允许为空 ")。 }else {ResultSetr=s.executeQuery( "select*from='" +xh+"'and 课程号='" +kch+"'" )。
JOptionPane.成绩信息表 where
showMessageD学号int
i=Integer.
r.last()parseInt
。(cj)
。if
(r.getRow()==1){JOptionPane.
showMessageDialog
(
null
, "该学生该科成绩已存在")。}else {s.executeUpdate( "insertinto 成绩信息表 values('" +xh+"','" +kch+"','" +i+"')" )。JOptionPane. showMessageDialog ( null , "<html>" +"学号:"+xh+"<br>"+"课程号:" +kch+"<br>" +"成绩:" +cj+ "<br> 学生成绩添加成功! ") 。catch (Exceptione){JOptionPane. showMessageDialog ( null , "成绩输入的学号或者课程号不存在!publicvoid UpdateScore(Stringxh,Stringkch,Stringcj){
}}}
")
。}}try
{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"
)
。Connectionc=DriverManager. getConnection
("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。if (xh.equals( "")||kch.equals( "")||cj.equals( "")){JOptionPane. showMessageDialog ( null , "输入框不允许为空 ")。 }else {int i=Integer. parseInt (cj) 。ResultSetr=s.executeQuery( "select*from 成绩信息表where 学号='" +xh+"'and 课程号='" +kch+"'" )。r.last() 。 if (r.getRow()==1){ s.executeUpdate( "update 成绩信息表 set 成绩='" +i+"'where 学号='" +xh+"'and 课程号='" +kch+"'" )。JOptionPane. showMessageDialog ( null , "学生成绩修改成功! ") 。 }else {JOptionPane. showMessageDialog ( null , "成绩表中并无相关记录! ") 。}。}} catch (Exceptione){JOptionPane. showMessageDialog ( null , "学籍系统中并无相关记录!") 。}}publicvoid DeleteScore(Stringxh,Stringkch){try{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver" )。Connectionc=DriverManager. getConnection ("jdbc:odbc: 学生信息系统 ")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。ResultSetr=s.executeQuery( "select*from 成绩信息表where 学号='" +xh+"'and 课程号='" +kch+ "'" )。 r.last() 。if (r.getRow()==1){s.executeUpdate( "deletefrom 成绩信息表 where 学号='" +xh+"'and 课程号='" +kch+"'" )。JOptionPane. showMessageDialog ( null , "学生记录删除成功!") 。}else {JOptionPane. showMessageDialog ( null , "学籍系统中并无相关记录! ") 。}} catch (Exceptione){}}publicvoid SearchScore(Stringxh){JFramem= newJFrame( "学号"+xh+"的各科成绩")。m.setBounds(60,70,326,320) 。m.setVisible( true )。JTextAreaaa= newJTextArea() 。aa.setBounds(0,0,326,320) 。Containerc1=m.getContentPane() 。c1.setLayout(
null
)。c1.add(aa)
。try
{Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver" )。Connectionc=DriverManager. getConnection ("jdbc:odbc: 学生信息系统Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet. CONCUR_UPDATABLE)。ResultSetr1=s.executeQuery( "select名称,成绩 from 成绩信息表 join 课程信息表 on 成绩信息表 .课程号
")。学号,课程=课程信息表 .课程号
" +"where
学号='" +xh+"'"
)。r1.last()
。aa.append(r1.beforeFirst()aa.append(
"查询到该学生 "+r1.getRow()+。" 学号"+"\t" +"
"科成绩课程名称
"+"\n"" +"\t"
)
。+"
成绩"+"\n")。while (r1.next()){ aa.append(r1.getString(aa.append( "\t
"
"学号"))+r1.getString(
。
"课程名称"))
。aa.append(
"\t"
+r1.getString(
"成绩")+"\n"
)
。}}catch (Exceptione){ e.printStackTrace() 。 } }publicvoid ListAll(Stringbanji){JFramem= newJFrame(banji+ "班成绩排名 ")。m.setBounds(60,70,413,319) 。m.setVisible( true )。JTextAreaaa= newJTextArea() 。aa.setBounds(0,0,413,319) 。Containerc1=m.getContentPane() 。c1.setLayout( null )。c1.add(aa) 。try {Class. forName ("sun.jdbc.odbc.JdbcOdbcDriver"Connectionc=DriverManager. getConnectionStatements 。s=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE ,ResultSet.Stringsql= "execute 全班排名 '" +banji+ "'" 。ResultSetr1=s.executeQuery(sql) 。r1.last() 。aa.append( "\t 学号"+"\t" +"姓名"+"\t"
)。("jdbc:odbc: 学生信息系统CONCUR_UPDATABLE)。+"平均分" +"\t" +"总分
")
。"+"\n" )。r1.beforeFirst() 。for (int
i=1
。r1.next() 。i++){ aa.append( "第"+i+"名:")。aa.append(r1.getString( "学号"))。aa.append( "\t" +r1.getString( "姓名"))。aa.append( "\t" +r1.getString( "平均分"))。aa.append( "\t" +r1.getString( "总分")+"\n"}}
)
。catch (Exceptione){e.printStackTrace()
。
}}publicvoid
ListOne(Stringstr1,Stringstr2){JFramem= newJFrame(str2+m.setBounds(60,70,326,320)
"班"+str1+。
"科"+"成绩排名
")。try
{Class.
m.setVisible( true )。JTextAreaaa= newJTextArea() 。aa.setBounds(0,0,326,320) 。Containerc1=m.getContentPane()c1.setLayout( null )。c1.add(aa) 。forName ("sun.jdbc.odbc.JdbcOdbcDriver"Connectionc=DriverManager.
。)。getConnection
("jdbc:odbc:
学生信息系统")。Statements 。s=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVEResultSet. CONCUR_UPDATABLE)。Stringsql= "execute 单科成绩排名
,'"
+str1+
"',"
+"'"
+str2+
"'"
。ResultSetr1=s.executeQuery(sql)
。r1.last()
。aa.append(
"\t"
+"
学号"+"\t"
+"姓名"+"\t"
+"成绩"+"\n"
)
。
r1.beforeFirst()
。for
(int
i=1
。r1.next()
。i++){ aa.append(
"第"+i+
"名:")。aa.append(r1.getString(
"学号"))
。aa.append(aa.append(
"\t""\t"
+r1.getString(+r1.getString(
"姓名"成绩
"))")+
。"\n"
)
。
}}catch (Exceptione){e.printStackTrace() 。 }}publicvoid AddTeacher(Stringid,Stringxm,Stringmm,Stringkch,Stringkcm){try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"Connectionc=DriverManager.getConnection
)。("jdbc:odbc:
学生信息系统
")。Statements=c.createStatement(ResultSet. TYPE_SCROLL_SENSITIVE
,ResultSet.if (id.equals( "")||mm.equals(ane. showMessageDialog ( nullelse { ResultSetr=s.executeQuery(
CONCUR_UPDATABLE)。"")||kch.equals( "")||kcm.equals(, "输入框不允许为空 ")。 }"select*from 教师信息表
"")){JOptionPwhere 教师信息表.教师ID='"
+id+ "'"
)
。r.last()
。if (r.getRow()==1){JOptionPane.
showMessageDialog
(
null
, "您输入的教师
ID已存在已存在")。}else { s.executeUpdate( "insertinto('" +id+ "','" +xm+"','" +mm+"')" )。s.executeUpdate( "insertinto
教师信息表 values课程信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CQAP 4002-2024医疗安全(不良)事件根本原因分析法活动指南
- T/CSRME 010-2021岩质边坡安全性数值分析与评价方法
- 房屋租赁合同范本广州市3篇
- 按揭贷款房屋转让协议格式合同5篇
- 一方出轨离婚协议书范本7篇
- 上海保安证考试题库及答案
- 关于商品房销售合同4篇
- 预付款采购标准合同8篇
- 【课件】元素(第1课时)-2024-2025学年九年级化学人教版(2024)上册
- 水电工程包工施工合同4篇
- 管道直饮水项目可行性研究报告
- 《公路桥梁挂篮设计与施工技术指南》
- 期中复习-首字母填空精练100题 2024-2025学年人教版英语八年级上册
- 临床富血小板血浆介绍、分类、制备技术及质量控制要点
- 2024年地铁施工负责人安全考试题库-判断题
- 人教版历史2024年第二学期期末考试七年级历史试卷(含答案)
- 大药房《质量管理体系文件》-管理制度
- 地渣土清运项目 投标方案(技术标)
- 第五届全国电力行业青年培训师教学技能竞赛考试题库-上(单选题)
- 2025年中考历史复习专项训练:中国现代史材料题40题(原卷版)
- 氯及其化合物:《氯气和水的反应实验探究》说课课件 2023-2024学年高一上学期化学人教版(2019)必修第一册
评论
0/150
提交评论