package system;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.*;
import java.sql.*;
import java.util.Calendar;
import javax.swing.JPanel;
public class Reader extends JPanel implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
public static final int WIDTH = 400;
public static final int HEIGHT = 300;
JTextField name,id,enter,maxno,curno,key,pw,id1,name1,enter1,maxno1,id2,name2,sex2,type2,enter2;
JComboBox xb,type;
JTable table1,table2;
JButton shua,add,del,yes,yes1,close,chaxun,yes2,chaxun2,close1,chaxun3;
JScrollPane s,s2;
JLabel bh,xm,xb1,lx,year,max,cur,key1,mima,cheng,shan;
DefaultTableModel model,model2;
boolean zhengque=true;int r;
int rows=0,row=1;
ResultSet rs=null;
ConnetDB conndb=new ConnetDB();
ResultSetMetaData rsmd;
String sql=null;
JFrame addf,delf;Connection conn;
public Reader(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:library", "sa", "");
}
catch(SQLException ex){
System.err.println("执行出错:"+ex.getMessage());
}
catch(ClassNotFoundException ex){
System.err.println("连接数据库出错:"+ex.getMessage());
}
setLayout(new BorderLayout());
setPreferredSize(new Dimension(630,540));
JTabbedPane tab=new JTabbedPane(JTabbedPane.TOP);
tab.setPreferredSize(new Dimension(600,480));
add(tab,BorderLayout.CENTER);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
tab.addTab("多条目精确检索", p1);
tab.addTab("模糊检索", p2);
p1.setLayout(new BorderLayout());
p2.setLayout(new BorderLayout());
JPanel p3=new JPanel();
p3.setPreferredSize(new Dimension(600,130));
p3.setLayout(new GridLayout(4,2));
p1.add(p3,BorderLayout.NORTH);
bh=new JLabel("读者编号:");
xm=new JLabel("姓 名:");
xb1=new JLabel("性 别:");
lx=new JLabel("读者类型:");
year=new JLabel("注册年份:");
max=new JLabel("最大借阅册数:");
cur=new JLabel("当前借阅册数:");
key1=new JLabel("关键字:");
mima=new JLabel("初始密码:");
name=new JTextField(10);
id=new JTextField(10);
enter=new JTextField(10);
maxno=new JTextField(10);
curno=new JTextField(10);
key=new JTextField(10);
xb=new JComboBox();
xb.setMaximumRowCount(3);
xb.addItem("");
xb.addItem("男");
xb.addItem("女");
type=new JComboBox();
type.setMaximumRowCount(4);
type.addItem("");
type.addItem("本科");
type.addItem("研究生");
type.addItem("教师");
JPanel c=new JPanel();
chaxun=new JButton("查询");
c.setLayout(new GridLayout(1,2));
JPanel c1=new JPanel();
JPanel bp=new JPanel();
bp.add(chaxun);
chaxun.setPreferredSize(new Dimension(80,25));
chaxun.setVisible(true);
c1.add(bh);
c1.add(id);
c.add(c1);
c.add(bp);
p3.add(c);
JPanel d=new JPanel();
d.setLayout(new GridLayout(1,2));
JPanel d1=new JPanel();
JPanel d2=new JPanel();
d1.add(xm);
d1.add(name);
d2.add(xb1);
d2.add(xb);
d.add(d1);
d.add(d2);
p3.add(d);
JPanel e=new JPanel();
e.setLayout(new GridLayout(1,2));
JPanel e1=new JPanel();
JPanel e2=new JPanel();
e1.add(year);
e1.add(enter);
e2.add(lx);
e2.add(type);
e.add(e1);
e.add(e2);
p3.add(e);
JPanel f=new JPanel();
JPanel f1=new JPanel();
JPanel f2=new JPanel();
f.setLayout(new GridLayout(1,2));
f1.add(max);
f1.add(maxno);
f2.add(cur);
f2.add(curno);
f.add(f1);
f.add(f2);
p3.add(f);
String[] column={"读者编号","姓名","性别","注册年份","读者类型","最大借阅量","当前借阅量"};
model=new DefaultTableModel(column,rows);
table1 = new JTable(model);
s= new JScrollPane(table1);
s.setBorder(BorderFactory.createTitledBorder("查询结果"));
s.setPreferredSize(new Dimension(600,300));
p1.add(s,BorderLayout.CENTER);
table1.setEnabled(false);
table1.setDefaultRenderer(Object.class, new TableCellTextAreaRenderer());
JPanel buttonp=new JPanel();
add=new JButton("添加");
shua=new JButton("刷新");
del=new JButton("删除");
buttonp.add(shua);
buttonp.add(add);
buttonp.add(del);
add(buttonp,BorderLayout.SOUTH);
p2.setLayout(new BorderLayout());
JPanel keyp=new JPanel();
chaxun3=new JButton("查询");
keyp.add(key1);
keyp.add(key);
keyp.add(chaxun3);
p2.add(keyp,BorderLayout.NORTH);
model2=new DefaultTableModel(column,rows);
table2 = new JTable(model2);
s2= new JScrollPane(table2);
s2.setBorder(BorderFactory.createTitledBorder("查询结果"));
s2.setPreferredSize(new Dimension(600,300));
p2.add(s2,BorderLayout.CENTER);
table2.setEnabled(false);
table2.setDefaultRenderer(Object.class, new TableCellTextAreaRenderer());
shua.addActionListener(this);
add.addActionListener(this);
del.addActionListener(this);
chaxun.addActionListener(this);
chaxun3.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
try{
if(e.getActionCommand().equals("刷新")){
String sql="Select id,name,sex,enter,type,max_no,cur_no from reader";
rs=conndb.executeQuery(sql);
if(!rs.next()){
rows=0;
model.setRowCount(rows);
table1.doLayout();
}
else{
rsmd=rs.getMetaData();
do{
rows++;
model.setRowCount(rows);
table1.doLayout();
for(int j=1;j<=rsmd.getColumnCount();j++){
switch(rsmd.getColumnType(j)){
case Types.VARCHAR:
case Types.CHAR:{
table1.setValueAt(rs.getString(j), rows-1, j-1);
if(table1.getValueAt(rows-1, j-1)==null)
table1.setValueAt("NULL",rows-1, j-1);
break;
}
case Types.INTEGER:{
Long a= new Long(rs.getLong(j));
table1.setValueAt(a, rows-1, j-1);
break;
}
}
}
}while(rs.next());
table1.doLayout();
rows=0;
rs.close();
conndb.close();
}
}
else if(e.getSource()==chaxun){
int flag=0;
String sql="Select id,name,sex,enter,type,max_no,cur_no from reader where ";
if(id.getText().length()!=0){
sql=sql+"id='"+id.getText()+"'";flag=1;}
if(flag==1) sql=sql+" and ";
if(name.getText().length()!=0){
sql=sql+"name='"+name.getText()+"'";flag=2;}
if(flag==2) sql=sql+" and ";
if(xb.getSelectedItem().toString().length()!=0){
sql=sql+"sex='"+xb.getSelectedItem().toString()+"'";flag=3;}
if(flag==3) sql=sql+" and ";
if(enter.getText().length()!=0){
sql=sql+"enter="+enter.getText();flag=4;}
if(flag==4) sql=sql+" and ";
if(type.getSelectedItem().toString().length()!=0){
sql=sql+"type='"+type.getSelectedItem().toString()+"'";flag=5;}
if(flag==5) sql=sql+" and ";
if(maxno.getText().length()!=0){
sql=sql+"max_no='"+maxno.getText()+"'";flag=6;}
if(flag==6) sql=sql+" and ";
if(curno.getText().length()!=0){
sql=sql+"cur_no='"+curno.getText()+"'";flag=7;}
if(flag==7) sql=sql+" and ";
sql=sql+"id=id";
rs=conndb.executeQuery(sql);
if(!rs.next()){
rows=0;
model.setRowCount(rows);
table1.doLayout();
JOptionPane.showMessageDialog(null, "该读者不存在!");
}
else{
ResultSetMetaData rsmd=rs.getMetaData();
do{
rows++;
model.setRowCount(rows);
table1.doLayout();
for(int j=1;j<=rsmd.getColumnCount();j++){
switch(rsmd.getColumnType(j)){
case Types.VARCHAR:
case Types.CHAR:{
table1.setValueAt(rs.getString(j), rows-1, j-1);
if(table1.getValueAt(rows-1, j-1)==null)
table1.setValueAt("NULL",rows-1, j-1);
break;
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
数据库课程设计_Java的图书管理系统.rar (62个子文件)
数据库课程设计_Java的图书管理系统
library
system
Reader.class 17KB
Return.class 11KB
Loan.class 11KB
Average.class 7KB
ConnetDB.java 2KB
Fine.class 8KB
PSP.java 2KB
Help.class 2KB
Average.java 5KB
Addbook.java 12KB
ConnetDB.class 3KB
Datecheck.class 1KB
Datecheck.java 911B
Addbook.class 12KB
Fine$1.class 592B
Deletebook.class 10KB
Hot.java 5KB
Help.java 1KB
PSP.class 4KB
Mainwindow.class 7KB
Mainwindow$1.class 724B
Lost.class 7KB
Deletebook.java 9KB
Mainwindow$2.class 685B
Lost$1.class 592B
Lost.java 5KB
GLP.class 11KB
Mainwindow$3.class 1KB
TableCellTextAreaRenderer.java 1KB
Return.java 10KB
Denglu$1.class 632B
GLP.java 10KB
Denglu.java 4KB
Hot.class 7KB
Reader$1.class 689B
Reader$2.class 689B
Reader.java 17KB
Denglu.class 6KB
Book.java 13KB
Fine.java 6KB
Book.class 13KB
Mainwindow.java 9KB
Loan.java 9KB
TableCellTextAreaRenderer.class 2KB
.project 383B
.classpath 226B
reader
Account.java 3KB
Account.class 5KB
History$1.class 639B
Main.class 5KB
Money.java 7KB
Main$1.class 649B
lcr.class 1KB
Xinxi.java 5KB
History.class 9KB
Money.class 7KB
Xinxi.class 6KB
History.java 8KB
Main.java 5KB
hs_err_pid3724.log 14KB
hs_err_pid3000.log 14KB
backup 1.39MB
共 62 条
- 1
wsl1176
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页