package bookdata;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class select_borrow extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -7119145744642858492L;
JLabel jlbarr[]={new JLabel("ID"),new JLabel("ISBN"),new JLabel("书名"),new JLabel("出版社"),new JLabel("四选一查询")};
JTextField jtfarr[]={new JTextField(),new JTextField(),new JTextField(),new JTextField()};
JButton query[]={new JButton("查询"),new JButton("模糊查询")};
JLabel vague=new JLabel("模糊查找");
String v_str[]={"书名关键词","出版社关键词"};
JTextField v_search[]={new JTextField(v_str[0]),new JTextField(v_str[1])};//书名模糊查找和出版社模糊查找
connectdt jdbc = new connectdt();
Connection conn = jdbc.conn;
Statement stmt = jdbc.stmt;
String sql=null,tabstr="";
String bbnume[]={"【编号:】 "," 【ISBN:】 "," 【名称 :】 "," 【出版社:】 "," 【库存:】 ",""};
JTextArea tabArea=new JTextArea();
JScrollPane JSP = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
String datestr=df.format(new Date());
JComboBox<Integer> comBox = new JComboBox<Integer>();
JLabel comb[]={new JLabel("借阅天数"),new JLabel("请确认您要借的图书名称")};
JTextField btme=new JTextField();
JButton bbs=new JButton("借书");
JLabel lblBackground=new JLabel(new ImageIcon("image/查阅背景.jpg"));
final String outFilePath="C:\\Users\\86159\\desktop\\table.txt";
String reader;
int id=10;
public select_borrow(String p1){
reader=p1;
init();
addListener();
setLocation(300, 150);
setVisible(true);//设置窗口可见
setSize(800, 400);
setTitle("查询/借阅");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置关闭当前窗口
setResizable(false);//不可调整窗口尺寸
}
public void init(){
setLayout(null);
setText();
for(int i=0;i<jlbarr.length;i++){
jlbarr[i].setBounds(20+90*i, 10, 90, 30);
add(jlbarr[i]);
}
for(int i=0;i<jtfarr.length;i++){
jtfarr[i].setBounds(20+90*i, 40, 70, 30);
add(jtfarr[i]);
}
query[0].setBounds(380, 40, 70, 30);
add(query[0]);
vague.setBounds(20, 80, 52, 30);
add(vague);
for(int i=0;i<v_search.length;i++){
v_search[i].setBounds(80+i*150, 80, 120, 30);
add(v_search[i]);
}
query[1].setBounds(380, 80, 90, 30);
add(query[1]);
for (int i = 1; i < 11; i++) {
comBox.addItem(i);
}
comBox.setBounds(580, 80, 50, 30);
add(comBox);
comb[0].setBounds(520, 80, 52, 30);
add(comb[0]);
comb[1].setBounds(490,35,150,30);
add(comb[1]);
btme.setBounds(650, 35, 130, 30);
add(btme);
bbs.setBounds(650, 80, 60, 30);
add(bbs);
tabArea.setEditable(false);
JSP = new JScrollPane(tabArea);
JSP.setBounds(10, 120, 780, 240);
add(JSP);
lblBackground.setBounds(0, 40, 800, 400);
add(lblBackground);
}
public void setText(){
v_search[0].setForeground(Color.LIGHT_GRAY);
v_search[1].setForeground(Color.LIGHT_GRAY);
v_search[0].addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
JTextField src = (JTextField) e.getSource();
if (src.getText().equals(v_str[0])) {
src.setText(null);
}
}
public void focusLost(FocusEvent e) {
JTextField src = (JTextField) e.getSource();
if (src.getText().trim().isEmpty()) {
src.setText(v_str[0]);
}
}
});
v_search[1].addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
JTextField src = (JTextField) e.getSource();
if (src.getText().equals(v_str[1])) {
src.setText(null);
}//这里实现文本框未输入信息时显示提示信息
}
public void focusLost(FocusEvent e) {
JTextField src = (JTextField) e.getSource();
if (src.getText().trim().isEmpty()) {
src.setText(v_str[1]);
}//当文本框内容被清空时显示提示信息
}
});
}
public void addListener(){//添加监听函数
for(int i=0;i<jtfarr.length;i++){
jtfarr[i].addActionListener(this);
}
query[0].addActionListener(this);
query[1].addActionListener(this);
bbs.addActionListener(this);
v_search[0].addActionListener(this);
v_search[1].addActionListener(this);
comBox.addActionListener(this);
btme.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
try {
if(e.getSource()==query[0]){
String txstr[]=new String[4];
for(int i=0;i<4;i++){
txstr[i]=jtfarr[i].getText().trim();
}
if(txstr[0].equals("")&&txstr[1].equals("")&&txstr[2].equals("")&&txstr[3].equals("")){
JOptionPane.showMessageDialog(null, "不能全为空");
return;
}
if(!txstr[0].equals("")){
sql="select * from books where ID ="+txstr[0];
}else if(!txstr[1].equals("")){
sql="select * from books where ISBN ='"+txstr[1]+"'";
}else if(!txstr[2].equals("")){
sql="select * from books where TITLE ='"+txstr[2]+"'";
}else if(!txstr[3].equals("")){
sql="select * from books where PUBLISH ='"+txstr[3]+"'";
}
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
rs.getMetaData();
int column = rs.getMetaData().getColumnCount();//表格列数
do{
tabstr=tabstr+bbnume[0];
for (int i = 0; i < column; i++) {//获取除表头的每一行
tabstr=tabstr+rs.getString(i + 1)+bbnume[i+1];
}
tabstr=tabstr+"\n";
}while(rs.next());
tabArea.setText(tabstr);
JSP.add(tabArea);
try {
BufferedWriter bw=new BufferedWriter(new FileWriter(outFilePath));
bw.append(tabArea.getText());
bw.close();
}catch(IOException ee) {
ee.printStackTrace();
}
tabstr="";//置空字符串,使下一次正常输出
}else{
JOptionPane.showMessageDialog(null, "输入不存在");
return;
}
}else if(e.getSource()==query[1]){
String vastr[]=new String[2];
for(int i=0;i<2;i++){
vastr[i]=v_search[i].getText().trim();
}
if(v_str[0].equals(vastr[0])&&v_str[1].equals(vastr[1])){
JOptionPane.showMessageDialog(null, "请输入关键词");
return;
}
if(!v_str[0].equals(vastr[0])){
sql="select * from books where TITLE like '%"+vastr[0]+"%';";//模糊查询
}else if(!v_str[1].equals(vastr[1])){
sql="select * from books where PUBLISH like '%"+vastr[1]+"%';";
}
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
rs.getMetaData();
int column = rs.getMetaData().getColumnCount();//表格列数
do{
tabstr=tabstr+bbnume[0];
for (int i = 0; i < column; i++) {//获取除表头的每一行
tabstr=tabstr+rs.getString(i + 1)+bbnume[i+1];
}
tabstr=tabstr+"\n";
}while(rs.next());
tabArea.setText(tabstr);
JSP.add(tabArea);
try {
BufferedWriter bw=new BufferedWriter(new FileWriter(outFilePath));
bw.append(tabArea.getText());
bw.close();
}catch(IOException ee) {
ee.printStackTrace();
}
tabstr="";
}else{
JOptionPane.showMessageDialog(null, "输入不存在");
return;
}
}else
if(e.getSource()==bbs){
String brid=btme.getText();
if(reader==null){
JOptionPane.showMessageDialog(null, "您还没登录呢");
return;
}
if(brid.isEmpty()){
JOptionPane.showMessageDialog(null, "请输入书名");
return;
}else{
sql="select * from books where TITLE='"+brid+"' and STOCK>0";//查询该书是否在数据库里并且库存大于0
ResultSet rs = stmt.executeQuery(sql);
Random r = new Random();//随机数
if(rs.next()){
Object day=comBox.getSelectedItem();
String prompt="您将借阅"+brid+day+"天,愿
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Book.zip (48个子文件)
Book
src
bookdata
delete.java 2KB
login.java 3KB
Return_Book.java 3KB
zone.java 3KB
gaintb.java 2KB
register.java 3KB
manager.java 2KB
LibraryStart.java 432B
UserMain.java 3KB
addook.java 3KB
select_borrow.java 8KB
connectdt.java 763B
menu.java 3KB
user_regist.java 4KB
bin
bookdata
login$1.class 716B
connectdt.class 1KB
select_borrow$2.class 1KB
addook.class 4KB
UserMain.class 4KB
select_borrow.class 9KB
register.class 5KB
select_borrow$1.class 1KB
Return_Book.class 4KB
login.class 4KB
gaintb$1.class 793B
user_regist.class 6KB
zone.class 4KB
menu.class 4KB
gaintb.class 2KB
LibraryStart.class 800B
manager.class 3KB
delete.class 4KB
.classpath 419B
.settings
org.eclipse.jdt.core.prefs 646B
.project 380B
image
login.jpg 1004B
query.jpg 1KB
usermain.jpg 195KB
help.jpg 1KB
查阅背景.jpg 364KB
key.jpg 903B
browse.jpg 1024B
user.jpg 1KB
登陆界面.jpg 91KB
admin.jpg 1KB
main.jpg 56KB
lib
postgresql.jar 5.31MB
JTattoo-1.6.13.jar 1.16MB
共 48 条
- 1
冰非一日之寒
- 粉丝: 79
- 资源: 3
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页