数据库课程设计java版.docx
《数据库课程设计java版.docx》由会员分享,可在线阅读,更多相关《数据库课程设计java版.docx(18页珍藏版)》请在冰点文库上搜索。
数据库课程设计java版
计算机科学与技术学院课程设计成绩单
课程名称:
数据库系统原理 指导教师:
***
姓名
***
性别
*
学号
*********
班级
*****
综合成绩
成绩等级
程序运行情况
(占总成绩20%)
□能正确运行 □基本能正确运行 □能运行但结果不完善
(20分) (15分) (10分)
程序功能的完善程度
(占总成绩10%)
□完善 □基本完善 □不完善
(10分) (8分) (5分)
程序结构的合理性
(占总成绩10%)
□合理 □基本合理 □不太合理
(10分) (8分) (5分)
对问题的答辩情况
(占总成绩40%)
□概念正确有创新 □能正确回答所有问题 □基本能正确回答
(40分) (35分) (30分)
□部分问题回答概念不清晰
(20分)
学生的工作态度与独立工作能力
(占总成绩10%)
□工作态度认真能独立完成任务 □工作态度认真但独立性较差
(10分) (8分)
□工作态度基本认真但缺乏独立性
(5分)
设计报告的规范性
(占总成绩10%)
□符合规范 □基本符合规范 □规范性较差
(10分) (8分) (5分)
优秀:
90分~100分良好:
80分~89分中等:
70~79分及格:
60~69分不及格0分~59分
计算机科学与技术学院
课程设计报告
课程名称:
数据库系统原理
专 业:
计算机
班 级:
*****
学 号:
******
姓 名:
****
指导老师:
******
java学生成绩管理系统课程设计报告以及代码共享
一、课程题目
设计一个简易的电子书店管理系统。
用于记录书店书本的信息以供管理员管理。
(1)记录书本的基本信息,如编号、名称、类型、作者等
(2)记录各个读者的信息。
(3)实现一些管理的基本功能,如:
书本信息的查询、插入新的书本信息、更改
以及删除书本信息等功能。
(4)能够连接数据库,从中获取信息。
二、题目分析与设计
1.使用的开发环境。
我使用的开发环境是Eclipse,数据库是mysql。
2.根据课题画出数据流程图。
电子书店管理,实现添加书本记录、修改书本记录,删除及更改记录的功能。
图书管理
查询图书
添加图书
修改图书
删除图书
3.根据课题画出E-R图。
4.数据库中各个表的结构。
此次课题使用了三张表:
图书表(图书编号(主码),图书名,类型,作者,数目,价格);
读者表(读者编号(主码),读者名,年龄,性别,电话,地址);
订单表(订单编号(主码),图书编号,读者编号,数目,需付金额)。
5.界面设计过程和组件的布局策略。
由多个界面组成,通过点击界面的按钮来响应下一个事务,并对操作的
失误有友好的提醒界面功能。
6.论述程序逻辑的实现
用户输入数据后,整理数据,通过JDBC连接数据库进行各种操作。
三、测试分析
1.登陆界面
进入登陆界面输入用户名:
何耀武密码:
1234点击确定就可以进入主界
面然后根据自己的需要点击界面上的操作按钮,从而进入下一个界面来实
现要完成的操作
主要代码如下:
jButton1.addActionListener(newActionListener(){//确定按钮所产生的事务
publicvoidactionPerformed(ActionEvente){
try{
if(e.getSource()==jButton1){
StringS1="***",S2="1234";
if((jTextField1.getText()).equals(S1)&&jPasswordField1.getText().equals(S2))//用户名密码比
{
dispose();
NewJFrame1main_ui=newNewJFrame1();
main_ui.setVisible(true);
}
else{
jLabel4.setText("你输入的密码或用户名有误,请再输入");
jLabel4.setVisible(true);
jPasswordField1.setText(null);//输入错误提示
}
}
}catch(Exceptionf){
f.printStackTrace();
}
}
});
jButton1.addActionListener(newActionListener(){//进入下个界面
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jButton1){
dispose();
NewJFrame2N2=newNewJFrame2();
N2.setVisible(true);//出现主界面
}
}
});
jButton3.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(e.getSource()==jButton3){
dispose();
NewJFrame6N6=newNewJFrame6();
N6.setVisible(true);//出现主界面
}
}
});
2.测试结果
(1)查询书本信息
进入查询界面后点击要查询的对象,然后在方框内输入编号点击确
定按钮从而得到所要查询的信息。
主要查询代码:
jButton1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringS=null;
if(jRadioButton1.isSelected())
{
jTextField2.setText(null);
if(e.getSource()==jButton1)
S=jTextField1.getText();
Stringdriver="com.mysql.jdbc.Driver";//驱动程序
Stringurl="jdbc:
mysql:
//localhost:
3306/sellbook";
Stringuser="root";//登录名
Stringpassword="118157439";//密码
ConnectionConn=null;//l连接数据库
try{
Class.forName(driver);
Conn=DriverManager.getConnection(url,user,password);
Stringquery="select*frombookswhereBno='"+S+"';";
PreparedStatementps=Conn.prepareStatement(query);
ResultSetresult=ps.executeQuery();
NewJFrame3n3=newNewJFrame3();
while(result.next()){
n3.jTextField1.setText(result.getString("Bno"));
n3.jTextField2.setText(result.getString("Bname"));
n3.jTextField3.setText(result.getString("Btype"));
n3.jTextField4.setText(result.getString("Bauthor"));
n3.jTextField5.setText(result.getString("Bprice"));
n3.jTextField6.setText(result.getString("Bnumber"));
}//查询所得数据
if(n3.jTextField1.getText().length()==0)
{
IOS_ronN1=newIOS_ron(null);
N1.setVisible(true);
}//查询编号不在,计算机报错
else{
//dispose();
n3.setVisible(true);
Conn.close();
}
}
catch(SQLExceptionf)
{
//JOptionPane.showMessageDialog(null,"输入有误");
f.printStackTrace();
}
catch(Exceptiong){
g.printStackTrace();
}
}
if(jRadioButton2.isSelected())//点击第二个按钮的操作实现
{
jTextField1.setText(null);
if(e.getSource()==jButton1)
S=jTextField2.getText();
Stringdriver="com.mysql.jdbc.Driver";
Stringurl="jdbc:
mysql:
//localhost:
3306/sellbook";
Stringuser="root";
Stringpassword="528157439";
ConnectionConn=null;
try{
Class.forName(driver);//驱动加载
Conn=DriverManager.getConnection(url,user,password);
Stringquery="select*fromorderswhereOno='"+S+"';";
PreparedStatementps=Conn.prepareStatement(query);
ResultSetresult=ps.executeQuery();
NewJFrame4n4=newNewJFrame4();//选择数据
while(result.next()){
n4.jTextField1.setText(result.getString("Ono"));
n4.jTextField2.setText(result.getString("Bno"));
n4.jTextField3.setText(result.getString("Rno"));
n4.jTextField4.setText(result.getString("Onumber"));
n4.jTextField5.setText(result.getString("Opay"));
}//查询所得数据
if(n4.jTextField1.getText().length()==0)
{
IOS_ronN1=newIOS_ron(null);
N1.setVisible(true);
}//报错处理
else{
n4.setVisible(true);
Conn.close();
}}
catch(SQLExceptionf)
{
JOptionPane.showMessageDialog(null,"输入有误");
}
catch(Exceptionf){
f.printStackTrace();
}
}
}});
(2)插入书本信息
点击插入按钮进入插入界面,向对话框中输入信息,如:
009大学音乐音乐30李红10
将这一组数据插入表中,然后点击确定按钮,会弹出对话框插入成功,
表明数据插入成功。
主要插入代码:
jButton2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
//TODOAuto-generatedmethodstub
if(jTextField1.getText().length()==0){
jLabel8.setText("编号不能为空");//判断插入编号不能为空
jLabel8.setVisible(true);
}
if(jTextField1.getTex