打印 图书管理系统实习报告.docx

上传人:b****8 文档编号:27666243 上传时间:2023-07-03 格式:DOCX 页数:29 大小:630.79KB
下载 相关 举报
打印 图书管理系统实习报告.docx_第1页
第1页 / 共29页
打印 图书管理系统实习报告.docx_第2页
第2页 / 共29页
打印 图书管理系统实习报告.docx_第3页
第3页 / 共29页
打印 图书管理系统实习报告.docx_第4页
第4页 / 共29页
打印 图书管理系统实习报告.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

打印 图书管理系统实习报告.docx

《打印 图书管理系统实习报告.docx》由会员分享,可在线阅读,更多相关《打印 图书管理系统实习报告.docx(29页珍藏版)》请在冰豆网上搜索。

打印 图书管理系统实习报告.docx

打印图书管理系统实习报告

软件综合实习(28)图书信息管理(**)

2011-2级网络11-2班2013年6月21日

姓名:

陈雄学号:

3110757215

[问题描述]编写一个程序实现简单的图书信息的管理功能。

[基本要求](注:

本程序时在java的环境中运行,并通过eclipse来协助完成相应的操作。

(1)每本图书的基本信息包括:

编号,书名,作者,出版社,价格等,其中编号不允许重复。

(2)可以对图书基本信息进行管理(添加、删除、查找)。

(3)可以实现简单的统计功能,如统计某个出版社出版的图书,某个作者所编写的图书等。

(4)提供友好的GUI操作界面。

[选作内容]

(1)提供模糊查找的功能,如输入“程序”,可以查找到所有书名包含“程序”的图书的基本信息。

(2)实现组合条件的查询,如某个出版社某个作者出版的图书等,组合条件自己设计。

整个程序分为6个板块分别为:

Administrator;Book;BookInfo;

LMS;Reader;Register。

其中Administrator是管理员界面,可以实现图书的录入和查询,图书的录入和查询又可以进行入库,统计和删除和查找等操作。

Book可以实现图书的录入,统计和删除等操作,相当于Administrator的子类。

BookInfo可以实现图书的查询功能;可以通过作者,书名进行查询,也相当于Administrator的一个子类。

LMS可以实现图书管理系统。

提供登陆和注册等功能。

只有注册过的用户才有权限访问该系统。

Reader是一般的用户界面,上面只能提供一般用户的查询操作。

不能对数据库进行相关操作。

有效的提高了数据库的安全性。

本次实习用的数据库是微软的ACCESS2003

/**网络11-2班陈雄3110757215Administrator.java*/

importjavax.swing.*;

importjava.awt.*;

importjavax.swing.event.*;

importjava.awt.event.*;

publicclassAdministratorextendsJFrameimplementsActionListener{

privateJMenuBarJMB;//中间容器

privateJMenuM1,M2;

publicJMenuItemmenuItem1,menuItem2;

publicAdministrator(){

setTitle("管理员界面");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭JFrame窗口

Containercontent=getContentPane();

content.setLayout(newBorderLayout());//创建布局

JMB=newJMenuBar();

M1=newJMenu("图书信息录入");//创建菜单

M2=newJMenu("图书信息查询");

menuItem1=newJMenuItem("图书信息录入");

menuItem2=newJMenuItem("图书信息查询");

menuItem1.addActionListener(this);//监听事件

menuItem2.addActionListener(this);

M1.add(menuItem1);

M2.add(menuItem2);

JMB.add(M1);

JMB.add(M2);

setJMenuBar(JMB);

JToolBarJTB=newJToolBar();

content.add(JTB,BorderLayout.NORTH);

setSize(300,200);

setVisible(true);

}publicvoidactionPerformed(ActionEvente){

if(e.getSource()==menuItem1){

newBook();

}elseif(e.getSource()==menuItem2){

newBookInfo();}

}

publicstaticvoidmain(Stringargs[]){

newAdministrator();

}}运行结果:

/**网络11-2班陈雄3110757215Book.java*/

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.*;

publicclassBookextendsJFrameimplementsActionListener{

JLabeljLabelNumber=newJLabel("编号");

JLabeljLabelAuthor=newJLabel("作者");

JLabeljLabelBookName=newJLabel("书名");

JLabeljLabelPublish=newJLabel("出版社");

JLabeljLabelMoney=newJLabel("价格");

JLabeljLabelCount=newJLabel("作者共有书籍");

JButtonjButtonAdd=newJButton("入库");

JButtonjButtonCount=newJButton("按作者统计");

JButtonjButtonDelete=newJButton("按编号进行删除");

JButtonjButtonCount0=newJButton("按出版社统计");

JTextFieldjTextFieldNumber=newJTextField("");

JTextFieldjTextFieldAuthor=newJTextField("");

JTextFieldjTextFieldBookName=newJTextField("");

JTextFieldjTextFieldPublish=newJTextField("");

JTextFieldjTextFieldMoney=newJTextField("");

JTextFieldjTextFieldCount=newJTextField("");

JTextFieldjTextFieldCount0=newJTextField("");

publicBook(){

jbInit();//图书入库界面

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

setSize(400,500);

setVisible(true);

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}

catch(ClassNotFoundExceptione){

System.out.println("ForName:

"+e.getMessage());

}

}privatevoidjbInit(){

ContainercontentPane=getContentPane();

contentPane.setLayout(null);

setTitle("图书录入");

jLabelNumber.setFont(newFont("Dialog",0,15));jLabelNumber.setHorizontalAlignment(SwingConstants.RIGHT);jLabelNumber.setBounds(20,21,56,25);

jLabelAuthor.setFont(newFont("Dialog",0,15));/*设置此组件的字体,其中匿名类Font根据指定的逻辑字体"Dialog"的规范系列名称的String常量、样式0和磅值大小15,创建一个新Font*/jLabelAuthor.setHorizontalAlignment(SwingConstants.RIGHT);//设置标签内容沿X轴的对齐方式,向右对齐

jLabelAuthor.setBounds(20,59,56,25);/*移动组件并调整其大小。

由20和21分别指定左上角的新位置的x和y坐标,由56和25分别指定组件新的宽和高*/

jLabelBookName.setFont(newFont("Dialog",0,15));jLabelBookName.setHorizontalAlignment(SwingConstants.RIGHT);jLabelBookName.setBounds(20,97,56,25);

jLabelPublish.setFont(newFont("Dialog",0,15));

jLabelPublish.setHorizontalAlignment(SwingConstants.RIGHT);jLabelPublish.setBounds(20,135,56,25);

jLabelMoney.setFont(newFont("Dialog",0,15));

jLabelMoney.setHorizontalAlignment(SwingConstants.RIGHT);

jLabelMoney.setBounds(20,172,56,25);

jLabelCount.setFont(newFont("Dialog",0,15));

jLabelCount.setHorizontalAlignment(SwingConstants.RIGHT);

jLabelCount.setBounds(80,280,56,25);

jTextFieldNumber.setBounds(90,21,150,28);

jTextFieldAuthor.setBounds(90,59,150,28);

jTextFieldBookName.setBounds(90,97,150,28);

jTextFieldPublish.setBounds(90,135,150,28);

jTextFieldMoney.setBounds(90,172,150,28);

jTextFieldCount.setBounds(200,220,80,28);

jTextFieldCount0.setBounds(200,280,80,28);

jButtonAdd.setBounds(260,172,73,28);

jButtonAdd.setFont(newFont("Dialog",0,15));

jButtonAdd.addActionListener(this);

jButtonCount.setBounds(20,220,150,28);

jButtonCount.setFont(newFont("Dialog",0,15));

jButtonCount.addActionListener(this);

jButtonDelete.setBounds(20,330,180,28);

jButtonDelete.setFont(newFont("Dialog",0,15));

jButtonDelete.addActionListener(this);

jButtonCount0.setBounds(20,280,150,28);

jButtonCount0.setFont(newFont("Dialog",0,15));

jButtonCount0.addActionListener(this);

contentPane.add(jLabelNumber);

contentPane.add(jLabelAuthor);

contentPane.add(jLabelBookName);

contentPane.add(jLabelPublish);

contentPane.add(jLabelMoney);

contentPane.add(jButtonAdd);

contentPane.add(jButtonCount);

contentPane.add(jButtonDelete);

contentPane.add(jButtonCount0);

contentPane.add(jTextFieldNumber);

contentPane.add(jTextFieldAuthor);

contentPane.add(jTextFieldBookName);

contentPane.add(jTextFieldPublish);

contentPane.add(jTextFieldMoney);

contentPane.add(jTextFieldCount);

contentPane.add(jTextFieldCount0);

}publicvoidactionPerformed(ActionEvente){

Stringstr0=jTextFieldNumber.getText();

Stringstr1=jTextFieldAuthor.getText();

Stringstr2=jTextFieldBookName.getText();

Stringstr3=jTextFieldPublish.getText();

Stringstr4=jTextFieldMoney.getText();

if(e.getSource()==jButtonAdd){

try{Connectioncon=DriverManager.getConnection("jdbc:

odbc:

Library");

Statementsm=con.createStatement();

Stringss="insertintobookvalues('"+str0+"','"+str1+"','"+str2+"','"+str3+"','"+str4+"')";System.out.println(ss);

sm.executeUpdate(ss);

sm.close();

con.close();

}catch(SQLExceptione3){

System.out.println("SQLException:

"+e3.getMessage());}

}

if(e.getSource()==jButtonCount){

try{

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

Library");

Statementsm=con.createStatement();

ResultSetrs=sm.executeQuery("selectcount(*)frombookwhereauthor='"+str1+"'");

while(rs.next()){

jTextFieldCount.setText(rs.getString

(1));}

sm.close();

con.close();

}catch(SQLExceptione3){System.out.println("SQLException:

"+e3.getMessage());

}

}

if(e.getSource()==jButtonCount0){

try{Connectioncon=DriverManager.getConnection("jdbc:

odbc:

Library");

Statementsm=con.createStatement();

ResultSetrs=sm.executeQuery("selectcount(*)frombookwherepublish='"+str3+"'");

while(rs.next()){

//System.out.println(rs.getString

(1));

jTextFieldCount0.setText(rs.getString

(1));

}

sm.close();

con.close();

}

catch(SQLExceptione3){

System.out.println("SQLException:

"+e3.getMessage());

}

}if(e.getSource()==jButtonDelete){

try{Connectioncon=DriverManager.getConnection("jdbc:

odbc:

Library");

Statementsm=con.createStatement();

Stringss="DeletefrombookwhereNumber="+str0+"";

System.out.println(ss);

sm.executeUpdate(ss);

sm.close();

con.close();

}

catch(SQLExceptione3){System.out.println("SQLException:

"+e3.getMessage());

}

}

}

publicstaticvoidmain(Stringargs[]){

newBook();

}

}运行结果:

/***网络11-2班陈雄3110757215BookInfo.java*/

importjavax.swing.*;

importjavax.swing.table.*;

importjava.awt.*;

importjava.awt.event.*;

importjava.sql.*;

publicclassBookInfoextendsJFrameimplementsActionListener{

privateConnectioncon;//创建连接

privateJTabletable;//创建表格

privateString[]columnNames={"编号","作者","书名","出版社","价格"};

privateObject[][]rowData=newObject[50][5];//创建表格的行列大小

privateJButtonjb;

privateJRadioButtonrb1,rb2;//单选按钮类

privateJTextFieldjtext;//创建文本

publicBookInfo(){

super("图书查询");

Containercontent=getContentPane();//创建容器

JPanelpanel=newJPanel();//创建中间容器

GridBagLayoutgridbag=newGridBagLayout();//创建一个GridBagLayout的布局管理器

GridBagConstraintsconstraints=newGridBagConstraints();//创建约束对象GridBagConstraints

constraints.fill=GridBagConstraints.HORIZONTAL;//在水平方向上填充。

constraints.weightx=1;//在x方向上的增量为1

panel.setLayout(gridbag);//将中间容器添加到外层中间容器中

rb1=newJRadioButton("作者");//创建单选按钮rb1

rb1.setSelected(true);//

gridbag.setConstraints(rb1,constraints);//添加控件rb1到panel中间容器中

panel.add(rb1);

rb2=newJRadioButton("书名");//创建单选按钮rb2

gridbag.setConstraints(rb2,constraints);//添加控件rb2到中间容器中

panel.add(rb2);

ButtonGroupbg=newButtonGroup();//将单选按钮rb1,2划分到按钮组合中。

bg.add(rb1);

bg.add(rb2);

jtext=newJTextField("",20);//创建单行文本

gridbag.setConstraints(jtext,constraints);

panel.add(jtext);//将文本添加到中间容器中

jb=newJButton("查询");//新建一个查询按钮

jb.addActionListener(this);//添加事件监听器

constraints.gridwidth=GridBagConstraints.REMAINDER;//指定此组件是其行或列中的最后一个组件。

gridbag.setConstraints(jb,constraints);

panel.add(jb);

content.add(panel,BorderLayout.NORTH);

table=newJTable(rowData,columnNames);

JScrollPanescrollPane=newJScrollPane(table);//创建滚动条content.add(scrollPane,BorderLayout.CENTER);

setSize(400,200);

setVisible(true);

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

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

当前位置:首页 > 考试认证 > IT认证

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

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