设计数据库课程设计Java实现.docx

上传人:b****9 文档编号:26168786 上传时间:2023-06-17 格式:DOCX 页数:21 大小:116.22KB
下载 相关 举报
设计数据库课程设计Java实现.docx_第1页
第1页 / 共21页
设计数据库课程设计Java实现.docx_第2页
第2页 / 共21页
设计数据库课程设计Java实现.docx_第3页
第3页 / 共21页
设计数据库课程设计Java实现.docx_第4页
第4页 / 共21页
设计数据库课程设计Java实现.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

设计数据库课程设计Java实现.docx

《设计数据库课程设计Java实现.docx》由会员分享,可在线阅读,更多相关《设计数据库课程设计Java实现.docx(21页珍藏版)》请在冰豆网上搜索。

设计数据库课程设计Java实现.docx

设计数据库课程设计Java实现

一、 课程设计目

在数据库原理课程基础上,培养学生综合运用数据库知识能力。

学会数据库设计、规划以及应用程序开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库工作模式。

大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上数据库,并完成应用系统所要求各项功能,应用程序开发需要采用当前流行新软件。

二、课程设计内容

1.数据库设计

根据学生信息管理系统,经过调查研究,构建合理数据库。

首先构建基本表以及表和表之间联系,在此基础上构建视图和索引表。

2.服务器组织

根据建立基本表、视图和索引表搭建服务器。

3.前端开发工具:

java学习并完成编写程序。

服务器端:

SQLServer2012

4.开发应用程序

利用所学新软件开发工具进行应用程序开发。

5.连接、调试。

三、软硬件环境及系统所采用体系结构

系统体系结构为C/S结构,具体开发工具为Ecplise,前台为Java,后台数据库一般为SQLServer2012。

四、需求分析

通过对学生信息管理了解,确定本系统具备一下功能。

多用户账号登录

只要通过用户登录验证后,能对学生记录信息进行修改,增加,删除等操作。

五、系统设计

1.系统结构图

 

a.功能模块图

 

 

2.数据库设计

学生包含信息:

 

NM

 

 

Login表

USE[Student]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[Login](

[userName][nvarchar](20)NOTNULL,

[password][nvarchar](10)NULL,

CONSTRAINT[PK_Login]PRIMARYKEYCLUSTERED

[userName]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

StudentIfor表

USE[Student]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

CREATETABLE[dbo].[StudentIfor](

[code][nvarchar](10)NOTNULL,

[name][nvarchar](10)NOTNULL,

[sex][nchar]

(2)NOTNULL,

[room][nvarchar](10)NOTNULL,

[address][nvarchar](50)NULL,

[tel][nvarchar](11)NULL,

CONSTRAINT[PK_StudentInfor]PRIMARYKEYCLUSTERED

[code]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

Crouse表

CREATETABLE[dbo].[Course](

[courseID][nchar](5)NOTNULL,

[courseName][nvarchar](40)NOTNULL,

CONSTRAINT[PK_Course]PRIMARYKEYCLUSTERED

[courseID]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

Student_Crouse表

CREATETABLE[dbo].[Student_Course](

[code][nvarchar](10)NOTNULL,

[courseID][nchar](5)NOTNULL,

[courseGrade][float]NULL,

CONSTRAINT[PK_Student_Course]PRIMARYKEYCLUSTERED

[code]ASC,

[courseID]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

 

六、系统实施

系统实现方法是用java结合SqlServer2012,用java编写前端用户界面主要界面代码如下:

publicclasswindowsimplementsActionListener{

privateJFrameframe;

privateJLabel[]label;

privateJTextField[]textField;

privateJListlist;

privateJScrollPanejscrollPane;

privateDefaultListModellistModel;

privateJRadioButtonmjRadioButton,fjRadioButton;

privateButtonGroupsetButtonGrop;

privateJButton[]button;

privateJButtonjbu;

privateContainercon;

privateResultSetresultSet;

privateString[]sinfor={"*学号:

","*姓名:

","*性别:

","*宿舍:

","住址:

","电话:

"};

privateString[]binfor={"增加","删除","修改","查找","上一条","下一条"};

publicwindows(){

frame=newJFrame("学生信息管理");

con=frame.getContentPane();

con.setLayout(null);

frame.setLocation(350,150);

frame.setSize(7770/15,6000/15);

frame.setResizable(false);

textField=newJTextField[6];

label=newJLabel[6];

button=newJButton[6];

for(inti=0;i<6;i++)

{

label[i]=newJLabel(sinfor[i]);

label[i].setLocation(5,3+(i*670/15));

label[i].setSize(570/15,670/15);

con.add(label[i]);

if(i!

=2)

{

textField[i]=newJTextField();

textField[i].setSize(200,470/15);

textField[i].setLocation(770/15,5+(i*670/15));

con.add(textField[i]);

}else

{

mjRadioButton=newJRadioButton("男",false);

mjRadioButton.setVisible(true);

mjRadioButton.setSize(570/15,670/15);

mjRadioButton.setLocation(970/15,5+(2*670/15));

mjRadioButton.addActionListener(this);

mjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

fjRadioButton=newJRadioButton("女",false);

fjRadioButton.setSize(570/15,670/15);

fjRadioButton.setLocation(2070/15,5+(2*670/15));

fjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

fjRadioButton.setVisible(true);

fjRadioButton.addActionListener(this);

setButtonGrop=newButtonGroup();

setButtonGrop.add(mjRadioButton);

setButtonGrop.add(fjRadioButton);

con.add(mjRadioButton);

con.add(fjRadioButton);

}

button[i]=newJButton(binfor[i]);

button[i].setSize(1570/15,370/15);

button[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

button[i].addActionListener(this);

if(i<=2)

button[i].setLocation(240/15+(i*2000/15),4300/15);

else

button[i].setLocation(240/15+((i-3)*2000/15),4300/15+450/15);

con.add(button[i]);

}

jbu=newJButton("查看成绩");

jbu.setSize(1570/15,800/15);

jbu.setLocation(3*2000/15,4300/15);

jbu.addActionListener(this);

con.add(jbu);

selectse=newselect();

resultSet=se.selectTable();

listModel=newDefaultListModel();

try{

while(resultSet.next())

{

listModel.addElement(resultSet.getString("code")+""+resultSet.getString("name"));

}

}catch(SQLExceptione){

e.printStackTrace();

}

se.isDisconnection();

list=newJList(listModel);

list.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEvente){

if(e.getClickCount()==2&&list.getSelectedIndex()!

=-1)

clickTwo(list.getSelectedValue());

}

});

jscrollPane=newJScrollPane(list);

jscrollPane.setSize(200,250);

jscrollPane.setLocation(270,7);

con.add(jscrollPane);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

应用程序编制方法是用户点击给出功能按钮实现对应功能,按钮响应中调用相应类及方法,重要代码如下:

privatevoidclickTwo(Objectvalue){

Stringstr=null;

ResultSetre;

selectse;

str=value.toString().substring(0,8);

str.trim();

se=newselect();

re=se.selectCode(str);

try{

textField[0].setText(re.getString("code"));

textField[1].setText(re.getString("name"));

if(re.getString("sex").equals("女")==true)

fjRadioButton.setSelected(true);

else

mjRadioButton.setSelected(true);

textField[3].setText(re.getString("room"));

textField[4].setText(re.getString("address"));

textField[5].setText(re.getString("tel"));

}catch(SQLExceptione){

e.printStackTrace();

}

se.isDisconnection();

}

publicvoidactionPerformed(ActionEvente){

Stringcode=null,name=null,sex="",room=null,address=null,tel=null;

if(e.getSource()==button[0])

{

code=textField[0].getText();

name=textField[1].getText();

Enumerationen=setButtonGrop.getElements();

while(en.hasMoreElements()){

AbstractButtonab=en.nextElement();

if(ab.isSelected())

sex=ab.getText();

}

room=textField[3].getText();

address=textField[4].getText();

tel=textField[5].getText();

code.trim();

name.trim();

room.trim();

address.trim();

tel.trim();

if(code.equals("")!

=true&&name.equals("")!

=true&&room.equals("")!

=true&&sex.equals("")!

=true)

{if(newaddInfor(code,name,sex,address,room,tel).addToDataBase()==true)

{

JOptionPane.showMessageDialog(frame,"增加成功");

selectse=newselect();

resultSet=se.selectTable();

listModel=newDefaultListModel();

try{

while(resultSet.next())

{listModel.addElement(resultSet.getString("code")+""+resultSet.getString("name"));

}

}catch(SQLExceptione1){

e1.printStackTrace();

}

list.setModel(listModel);

se.isDisconnection();

for(inti=0;i<6;i++)

if(i!

=2)

textField[i].setText("");

}

else

JOptionPane.showMessageDialog(frame,"增加失败,请核对信息");

}

else

JOptionPane.showMessageDialog(frame,"填入信息不全,请核对","警告",JOptionPane.WARNING_MESSAGE);

}

if(e.getSource()==mjRadioButton||e.getSource()==fjRadioButton)

{

sex=e.getActionCommand();

}

if(e.getSource()==button[1])

{

Stringdeli=null;

deli=JOptionPane.showInputDialog(frame,"请输入删除学号:

");

if(deli!

=null)

{

deli.trim();

if(deli.equals("")!

=true)

{

if(newdeleteInfor(deli).studentDel()==true)

{

JOptionPane.showMessageDialog(frame,"删除成功");

selectse=newselect();

resultSet=se.selectTable();

listModel=newDefaultListModel();

try{

while(resultSet.next())

{

listModel.addElement(resultSet.getString("code")+""+resultSet.getString("name"));

}

}catch(SQLExceptione1){

e1.printStackTrace();

}

list.setModel(listModel);

se.isDisconnection();

}

else

JOptionPane.showMessageDialog(frame,"删除失败,请核对信息");

}

else

JOptionPane.showMessageDialog(frame,"学号不能为空","错误",JOptionPane.ERROR_MESSAGE);

}

}

if(e.getSource()==button[2])

{

code=textField[0].getText();

name=textField[1].getText();

Enumerationen=setButtonGrop.getElements();

while(en.hasMoreElements()){

AbstractButtonab=en.nextElement();

if(ab.isSelected())

sex=ab.getText();

}

room=textField[3].getText();

address=textField[4].getText();

tel=textField[5].getText();

code.trim();

name.trim();

room.trim();

address.trim();

tel.trim();

if(code.equals("")!

=true&&name.equals("")!

=true&&room.equals("")!

=true&&sex.equals("")!

=true)

if(newupdate(code,name,sex,room,address,tel).updateStudentIfor()==true)

{

JOptionPane.showMessageDialog(frame,"修改成功");

selectse=newselect();

resultSet=se.selectTable();

listModel=newDefaultListModel(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1