图书管理系统 java sql_图书管理系统java版

本文通过构建图书管理系统,介绍如何用Java编程连接数据库,实现查询、插入、删除和修改书目信息的功能。系统包括GUI界面,具备四个功能选项卡:查询、插入、删除和修改。用户可输入查询条件,系统将显示匹配的书目详情;添加新书目信息到数据库;删除指定书目;修改已有书目信息。源码中包含BookInfo、BookTableModel、AddBookDialog和ModifyBook类,用于实现这些功能。
摘要由CSDN通过智能技术生成

本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询、插入、删除、修改。

内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书号、价格字段。设计一个GUI界面进行书目管理。在该界面上有四个选项卡,分别是查询、插入、删除、修改。点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。输入的书名必须是已存在的,否则会弹出消息框显示出错信息。输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。

源码:

BookInfo.java

* 项目名称:图书管理系统

* 版本: 1.0

* 创建者: 张俊强

* 创建时间:2016/5/26

* */

package librarySystem;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

@SuppressWarnings("serial")

public class BookInfo extends JFrame implements ActionListener{

//主角面上的控件

private JLabel inputLabel;

private JTextField inputText;

private JButton searchBut;

private JTable bookTable;

private JScrollPane bookScroll;

private JButton addBut;

private JButton modifyBut;

private JButton deleteBut;

private JButton refreshBut;

private BookTableModel bookTableModel;

public static void main(String[] args) throws SQLException {

// TODO Auto-generated method stub

BookInfo bookInfo=new BookInfo();

bookInfo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

bookInfo.setBounds(350, 150, 600, 400);

bookInfo.setVisible(true);

// bookInfo.importSQL();//导出数据

bookInfo.setMinWindowLayout();//设置数据

}

public BookInfo() throws SQLException{

//创建主界面上的控件

inputLabel=new JLabel("请输入书名:");

inputText=new JTextField(10);

searchBut=new JButton("查询");

bookTableModel=new BookTableModel();

bookTable=new JTable(bookTableModel);

bookScroll=new JScrollPane(bookTable);

addBut=new JButton("添加");

modifyBut=new JButton("修改");

deleteBut=new JButton("删除");

refreshBut=new JButton("刷新");

searchBut.addActionListener(this);

addBut.addActionListener(this);

refreshBut.addActionListener(this);

modifyBut.addActionListener(this);

deleteBut.addActionListener(this);

}

void setMinWindowLayout(){

//主界面布局

Container con1=new Container();

con1.setLayout(new FlowLayout());

con1.add(inputLabel);

con1.add(inputText);

con1.add(searchBut);

con1.add(refreshBut);

Container con2=new Container();

con2.setLayout(new FlowLayout());

con2.add(addBut);

con2.add(modifyBut);

con2.add(deleteBut);

this.setLayout(new BorderLayout());

this.add(con1,BorderLayout.NORTH);

this.add(bookScroll,BorderLayout.CENTER);

this.add(con2,BorderLayout.SOUTH);

this.validate();

}

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

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

if(!this.inputText.getText().equals("")){

String bookName=this.inputText.getText();

String sql="SELECT * FROM book_info WHERE book_name ='"+bookName+"'";

try {

bookTableModel=new BookTableModel(sql);

bookTable.setModel(bookTableModel);

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}else{

JOptionPane.showMessageDialog(this,"输入不能为空", "提示",JOptionPane.PLAIN_MESSAGE);

}

}

else if(e.getSource()==addBut){

@SuppressWarnings("unused")

AddBookDialog addWin=new AddBookDialog(this,"添加图书",true);

this.refreshTable();

}

else if(e.getSource()==refreshBut){

this.refreshTable();

}

else if(e.getSource()==deleteBut){

int rowNum=bookTable.getSelectedRow();

if(rowNum<0||rowNum>bookTable.getRowCount()){

JOptionPane.showMessageDialog(this,"未选中", "提示",JOptionPane.PLAIN_MESSAGE);

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值