拿Access建个表,点确定时,不显示数据,但是拖动一下滚动条或点击表格时,数据才显示,这是什么原因呢?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class ResultWin extends JFrame implements ActionListener{
Object a[][];
Object columnName[]={"学号","姓名","出生日期","数学","物理","英语"};
JTable table;
JButton btn;
Container cont;
int number1,maths1,phy1,english1;
Date brith1;
String name1;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
JProgressBar p_bar;
public ResultWin(){
super("数据查询");
a=new Object[30][6];
table=new JTable(a,columnName);
setSize(300,300);
setVisible(true);
btn=new JButton("确定");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
btn.addActionListener(this);
p_bar=new JProgressBar(JProgressBar.VERTICAL,0,50);
p_bar.setStringPainted(true);
cont=getContentPane();
cont.add(btn,BorderLayout.SOUTH);
cont.add(new JScrollPane(table),BorderLayout.CENTER);
cont.add(p_bar,BorderLayout.WEST);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn){
int i=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ee){
}
try{
conn=DriverManager.getConnection("jdbc:odbc:ttt","","");
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from chengjibiao");
while(rs.next()){
number1=rs.getInt(1);
name1=rs.getString(2);
brith1=rs.getDate(3);
maths1=rs.getInt(4);
phy1=rs.getInt(5);
english1=rs.getInt(6);
a[i][0]=String.valueOf(number1);
a[i][1]=name1;
a[i][2]=brith1;
a[i][3]=String.valueOf(maths1);
a[i][4]=String.valueOf(phy1);
a[i][5]=String.valueOf(english1);
i++;
p_bar.setValue(10*i);
p_bar.setString("查询了"+i+"条记录");
}
conn.close();
}
catch(SQLException e1){
}
}
}
}
public class JTableSQLExam{
public static void main(String args[]){
ResultWin win=new ResultWin();
win.pack();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class ResultWin extends JFrame implements ActionListener{
Object a[][];
Object columnName[]={"学号","姓名","出生日期","数学","物理","英语"};
JTable table;
JButton btn;
Container cont;
int number1,maths1,phy1,english1;
Date brith1;
String name1;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
JProgressBar p_bar;
public ResultWin(){
super("数据查询");
a=new Object[30][6];
table=new JTable(a,columnName);
setSize(300,300);
setVisible(true);
btn=new JButton("确定");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
btn.addActionListener(this);
p_bar=new JProgressBar(JProgressBar.VERTICAL,0,50);
p_bar.setStringPainted(true);
cont=getContentPane();
cont.add(btn,BorderLayout.SOUTH);
cont.add(new JScrollPane(table),BorderLayout.CENTER);
cont.add(p_bar,BorderLayout.WEST);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn){
int i=0;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ee){
}
try{
conn=DriverManager.getConnection("jdbc:odbc:ttt","","");
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from chengjibiao");
while(rs.next()){
number1=rs.getInt(1);
name1=rs.getString(2);
brith1=rs.getDate(3);
maths1=rs.getInt(4);
phy1=rs.getInt(5);
english1=rs.getInt(6);
a[i][0]=String.valueOf(number1);
a[i][1]=name1;
a[i][2]=brith1;
a[i][3]=String.valueOf(maths1);
a[i][4]=String.valueOf(phy1);
a[i][5]=String.valueOf(english1);
i++;
p_bar.setValue(10*i);
p_bar.setString("查询了"+i+"条记录");
}
conn.close();
}
catch(SQLException e1){
}
}
}
}
public class JTableSQLExam{
public static void main(String args[]){
ResultWin win=new ResultWin();
win.pack();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货