java jtable查找数据库_[原创][求助]jtable与数据库查询

[原创][求助]jtable与数据库查询

import javax.swing.*;

import javax.swing.event.*;

import java.awt.event.*;

import java.awt.Point;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.BorderLayout;

import javax.swing.table.DefaultTableModel;

import java.util.Vector;

import java.sql.*;

public class AllInfo extends JFrame implements ActionListener

{

public AllInfo(){

setTitle("排课情况信息查询");

setSize(200,200);

gl=new GridLayout(1,3,20,20);

gl2=new GridLayout(1,1,20,20);

JPanel panel=new JPanel();

JPanel panel2=new JPanel();

panel.setLayout(gl);

panel2.setLayout(gl2);

datelbl=new JLabel("日期");

datetex=new JTextField("");

classtimelbl=new JLabel("节次");

classtimetex=new JTextField("");

selectbtn=new JButton("查询");

model=new DefaultTableModel();

messagetab=new JTable(model);

model.addColumn("日期");

model.addColumn("节次");

model.addColumn("课程名称");

model.addColumn("任课教师");

sp=new JScrollPane(messagetab);

panel.add(datelbl);

panel.add(datetex);

panel.add(classtimelbl);

panel.add(classtimetex);

panel.add(selectbtn);

panel2.add(sp);

selectbtn.addActionListener(this);

getContentPane().add(panel,BorderLayout.CENTER);

getContentPane().add(panel2,BorderLayout.SOUTH);

sql=("select * from paike");

//清除以前记录

for(int n=model.getRowCount()-1;n>=0;n--)

{

model.removeRow(n);

}

try

{

rs=db.getResult(sql);

rs.beforeFirst();

while(rs.next()){

Vector tempvector=new Vector(1,1);

tempvector.add(rs.getString(1));

tempvector.add(rs.getString(2));

tempvector.add(rs.getString(3));

tempvector.add(rs.getString(4));

model.addRow(tempvector);

}

}catch(SQLException e)

{

System.out.println(e);

}

}

public void actionPerformed(ActionEvent e)

{

boolean isFirst=true;

sql="select * from paike";

for(int n=model.getRowCount()-1;n>=0;n--)

{

model.removeRow(n);

}

//book 表示书ID

//author表示USERID

String date=datetex.getText().trim();

String classtime=classtimetex.getText().trim();

if(date.equals("")&classtime.equals(""))

{

JOptionPane.showMessageDialog(null,"最少输入一个查找项目");

return;

}

if(!date.equals(""))

{

sql=sql+" where date1="+date;

isFirst=false;

}

if(!classtime.equals(""))

{

if(isFirst)

{

sql=sql+" where classtime="+classtime;

}

else

{

sql=sql+" and classtime="+classtime;

}

}

rs=db.getResult(sql);

boolean isexist=false;

try

{

//把游标指向结果集的第一行,如果没有数据则返回false

isexist=rs.first();

}

catch(SQLException w)

{

System.out.println(w);

}

//判断结果是否正确

if(!isexist)

{

JOptionPane.showMessageDialog(null,"没有相关资料");

datetex.setText("");

classtimetex.setText("");

return;

}

try

{

rs.beforeFirst();

while(rs.next()){

Vector tempvector=new Vector(1,1);

tempvector.add(rs.getString(1));

tempvector.add(rs.getString(2));

tempvector.add(rs.getString(3));

tempvector.add(rs.getString(4));

model.addRow(tempvector);

}

}

catch(SQLException e2)

{

System.out.println(e2);

}}

private JLabel datelbl;

private JLabel classtimelbl;

private JTextField datetex;

private JTextField classtimetex;

private JButton selectbtn;

private JTable messagetab;

private JScrollPane sp;

private GridLayout gl;

private GridLayout gl2;

private DBManager db=new DBManager();

private ResultSet rs;

private String sql;

private DefaultTableModel model;

}

请解释一下其中关于DefaultTableModel,和JTable的部分,

我想知道DefaultTableModel和JTable在JTable显示数据库数据时的工作原理是怎样的,

请各位大虾帮帮忙啊,最好详细一点啊!谢谢了!

特别是以下几处:

如何解释这两句话

model=new DefaultTableModel();

messagetab=new JTable(model);

在Vector中add()和addElement()有什么不同

Vector tempvector=new Vector(1,1);

tempvector.add(rs.getString(1));

DefaultTableModel是什么类,起什么作用

private DefaultTableModel model;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值