数据库课设报告java版.docx
《数据库课设报告java版.docx》由会员分享,可在线阅读,更多相关《数据库课设报告java版.docx(15页珍藏版)》请在冰豆网上搜索。
![数据库课设报告java版.docx](https://file1.bdocx.com/fileroot1/2023-1/31/987d5431-21e0-40f0-8713-a377c9a23b28/987d5431-21e0-40f0-8713-a377c9a23b281.gif)
数据库课设报告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.getText().length()!
=0){
Stringdriver="com.mysql.jdbc.Driver";
Stringurl="jdbc:
mysql:
//localhost:
3306/sellbook";
Stringuser="root";
Stringpassword="118157439";
ConnectionConn=null;//连接数据库
try{
Class.forName(driver);//加载驱动
Conn=DriverManager.getConnection(url,user,password);
Stringquery="insertintobooksvalues(?
?
?
?
?
?
)";
//连接数据库,向其中插入数据
PreparedStatementps=Conn.prepareStatement(query);
ps.setString(1,jTextField1.getText());
ps.setString(2,jTextField2.getText());
ps.setString(3,jTextField3.getText());
ps.setString(4,jTextField4.getText());
ps.setString(5,jTextField5.getText());
ps.setString(6,jTextField6.getText());
ps.executeUpdate();//插入成功
Conn.close();//关闭连接
}
catch(ClassNotFoundExceptionf)
{
System.out.println(f.getMessage());
}
catch(SQLExceptiong){
System.out.println(g.getMessage());
}
add_suca=newadd_suc(null);
a.setVisible(true);
}
}
});
(3)修改书本信息
在主界面点击要修改图书信息,输入要修改的图书信息,进入图书修改界面,
在对话框中修改所要修改的信息,如:
价格:
由30修改为46,数目:
由10修改为4.
之后点击确定按钮,弹出对话框更改成功,即完成更改。
修改代码为:
jButton1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jButton1){
Stringdriver="com.mysql.jdbc.Driver";//加载驱动
Stringurl="jdbc:
mysql:
//localhost:
3306/sellbook";
Stringuser="root";//用户名
Stringpassword="118157439";//密码
ConnectionConn=null;//连接数据库
try{
Class.forName(driver);
Conn=DriverManager.getConnection(url,user,password);
Stringquery="deletefrombookswhereBno='"+jTextField1.getText()+"'";
PreparedStatementps=Conn.prepareStatement(query);
ps.executeUpdate();
Stringquery1="insertintobooksvalues(?
?
?
?
?
?
)";//插入
PreparedStatementps2=Conn.prepareStatement(query1);
ps2.setString(1,jTextField1.getText());
ps2.setString(2,jTextField2.getText());
ps2.setString(3,jTextField3.getText());
ps2.setString(4,jTextField5.getText());
ps2.setString(5,jTextField4.getText());
ps2.setString(6,jTextField6.getText());
ps2.executeUpdate();//更改成功
Conn.close();//关闭连接
}
catch(ClassNotFoundExceptionf)
{
System.out.println(f.getMessage());
}
catch(SQLExceptiong){
System.out.println(g.getMessage());
}
alter_suca=newalter_suc(null);
a.setVisible(true);//弹出更改成功窗口
}}
});
(4)删除图书信息
进入删除图书界面,输入图书编号,点击确定按钮,当弹出删除成功
对话窗口,即成功删除,这样实现删除要删除的图书信息。
删除代码为:
jButton1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringS=jTextField1.getText();
try{
Stringdriver="com.mysql.jdbc.Driver";//加载驱动
Stringurl="jdbc:
mysql:
//localhost:
3306/sellbook";
Stringuser="root";//用户名
Stringpassword="118157439";//密码
ConnectionConn=null;//连接数据库
Class.forName(driver);
Conn=DriverManager.getConnection(url,user,password);
Stringquery="deletefrombookswhereBno='"+S+"'";
//删除图书信息
PreparedStatementps=Conn.prepareStatement(query);
ps.executeUpdate();//删除成功
Conn.close();
delete_sucd=newdelete_suc(null);
d.setVisible(true);//弹出删除成功的对话框
}catch(ClassNotFo