还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库课程设计-简单学生信息管理系统学院计算机科学学院专业软件工程02学号41109050209姓名李欢欢目录错误!未定义书签2设计任务
22.1任务说明
22.2系统目标
22.2使用范围3功能要求33设计内容31界面构建32详细设计
42.1模块设计
42.2数据库设计
42.3运行调试
2.4主要源代码5总结与展望错误!未定义书签1设计目的本程序用于用户对少量学生信息进展简单的管理,本程序针感觉没什么新鲜感,它的跨平台特性也只是听听,基本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时学习不刻苦,到时没有时间静下心来写java代码,知道结课做课设,才静下心来开场研究java结合以前的编程知识,做起了自己的程序我曾经用c语言做过这个系统,做起来会对比熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开场准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建设,再到最后的数据库连接,功能的实现,一步步走来,收获颇多其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率还有很多问题都在权衡之后得到了较优的解决方法它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码除此之外我还学到了新的编程技巧,比方对trycatch的运用刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他方法不好解决的问题,比方关闭窗口刚开场程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Dialog的时候,发现Dialog不能强制转化为Frame如果想用前面的方法管还得把多处代码进展修改,不过我想到了用try来解决这个问题参考文献
[1]李钟尉,马文强,陈丹丹Java从入门到精通第1版清华大学出版社
2008.9
[2]刘万军,梁清华,王松波,宋强Java程序设计实践教程第1版清华大学出版社
2006.9对于对安全系数要求不高,操作不是很复杂的小型客户开发本程序可以实现对学生信息的添加、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理操作简便,简单易用,任何人可轻松操作同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低该数据库可实现关系较为简单的数据管理2设计任务
2.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能要求如下〔1〕具有简单的录入,查询和修改功能〔2〕修改学生信息必须输入学号,然后对姓名、性别和专业等修改;〔3〕使用文件存储数据〔也可用数据库〕〔4〕学生个人信息必须包括学号、姓名、性别、籍贯、系别2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况如用户对学生基本信息进展录入、查询、修改、删除等
2.2使用范围本系统仅针对用户对少量学生进展信息管理3功能要求1录入学生基本信息的功能2查询学生基本信息的功能3修改学生基本信息的功能4删除学生基本信息的功能5显示所有学生信息的功能3设计内容1界面构建
1、为了便于各种操作,软件采用多窗口的模式用户可在不同窗口进展相应操作〔录入、查询、修改、删除、显示所有学生省信息〕
2、主窗口是用户进展各种操作的平台,具体操作在各个独立功能窗口中完成
3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道
4、当用户在进展个别录入、删除或错误输入操作时,会弹出相应对话框提示用户如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当是,弹出错误以及简单的错误原因提示用户重新操作
5、界面布局尽量合理,各组件位置分布均匀美观
3.2详细设计
3.
2.1模块设进入界面添加删除修改查询
3.
2.2数据上志F学生信息表
3.
2.3运行调试操作界面添加学生信息修改学生信息查找学生信息
3.
2.4主要源代码importjava.sqI.Connection;importjava.sqI.DriverManager;importjava.sqI.PreparedStatement;importjava.sqI.ResuItSet;pubIicclassSqIHeIper〃对数据库进展操作PreparedStatementps=nulI;Connectionct二null;ResuItSetrs=nulI;driver=com.microsoft.jdbc.sqIserver.SQLServerDriver;url=jdbc:microsoft:sqIserver://
127.
0.
0.1:1433;databaseName=JsqI;一iinuser-sa;passwd=sa;cIosecatchExceptionee.printStackTrace;}pubIicResuItSetqueryExecuteStringsqICIass.forName^v\ver;ct=DriverManager.getConnectiIuserpasswd;ps=ct.prepareStatementsqI;rs=ps.executeQuery;catchExceptionee.printStackTrace;finallyreturnrs;〃查询数据库操作pubIicResuItSetqueryExectueStringsqIString[]parastryCIass.forName^6tiver;ct=DriverManager.getConnect/o/7urIuserpasswd;ps=ct.prepareStatementsqI;forinti=0;iparas.length;i++ps.setStringi+1paras[i];rs=ps.executeQuery;catchExceptionee.printStackTrace;}finally}returnrs;//把增、册k改放在一起对数据库操作@SuppressWarningsfinaIlypubIicbooleanupdExecuteStringsqIString[]paras{booIeanb=true;try{Class.forName^viver;ct=DriverManager.getConnection^urIuserpasswd;ps=ct.prepareStatementsqI;forinti=0;iparas.length;i++ps.setStringi+1paras[i];}ifps.executellpdate!=1b=faIse;catchExceptioneb二faIse;e.printStackTrace;finallyreturnb;importjavax.swing.*;importjava.sqI.importjava.util.*;importjava.sqI.Connection;importjava.sqI.DriverManager;importjava.sqI.PreparedStatement;importjava.sqI.ResuItSet;importjava.util.Vector;importjava.awt.*;importjava.awt.Event.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;//学生管理类pubIicclassStuMangerextendsJFrameimplementsActionListenerJPaneljp1jp2;JLabeljl1;JButtonjb1jb2jb3jb4;JTabIejt;JScroIIPanejsp;JTextFieIdjtf;StuModms;pubIicstatiovoidmainString[]args{StuMangers=newStuManger;pubIicStuMangerjp1=newJPaneI;jtf二newJTextField10;jb1=newJButton“查询”;jb
1.addActionListenerthis;j11=newJLabel请输入名字”;jp
1.addj11;jp
1.addjtf;jp
1.addjb1;jp2=newJPaneI;jb2=newJButton“添加“;jb
2.addActionListenerthis;jb3=newJButton删除;jb
3.addActionListenerthis;jb4=newJButton修改;jb
4.addActionListenerthis;jp
2.addjb2;jp
2.addjb3;jp
2.addjb4;ms=newStuMod;String[]paras={T};ms.queryStuseiect*fromstuwhere1=paras;jt=newJTabIems;jsp=newJScroIIPanejt;this.addjsp;this.addjp1North;this.addjp2South;this.setSize400300;this.setDefauItCIoseOperationJFrame.EXIT_ON_CLOS^;this.setVisibIetrue;pubIiovoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSource0—jb1{System.printIn希望查询;Stringname=thisjtf.getText.trim;Stringsql=seIect*fromstuwherestuName=;Stringparas[]={name};ms=newStuMod;ms.queryStusqIparas;jt.setModeIms;elseife.getSource==jb2StuAddDialogg=newStuAddDiaIogthis“添加学生“,true;ms二newStuMod;String□paras2={1};ms.queryStuseIect*fromstuwhere1=,paras2;jt.setModeIms;elseife.getSource==jb4introwNum=this.jt.getSeIectedRow;ifrowNum==-1JOptionPane.showMessageDia/og^r\is”请选择一^亍”;return;//newStuUpdDialogthis“修改二truemsrowNum;ms二newStuMod;String[]paras2={1};ms.queryStuseiect*fromstuwhere1=paras2;jt.setModeIms;StringstuId二Stringms.getVaIueAtrowNum0;System.out.printInid=+stuId;//删除elseife.getSource==jb3{introwNum=this.jt.getSeIectedRow;ifrowNum==-1JOptionPane.showMessageDiaIog^his”请选择一行“;return;1jt.setModeIms;StringstuId二Stringms.getVaIueAtrowNum0;System.out.printInid=+stuId;Stringsql=deIetefromstuwherestuid=;String[]paras={stuId};StuModtemp=newStuMod;temp.updStusqIparas;ms二newStuMod;String[]paras2={1;ms.queryStuseIect*fromstuwhere1=paras2;jt.setModeIms;}5总结与展望做课设让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是DOS下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大这学期刚开课学java。