public class hadstudy extends JFrame implement ActionListener
{

private JTable table;
private DefaultTableModel dftm;
private link db;
private String sql;
private JLabel q;
private JTextField w;
private JButton B;
final JScrollPane scrollPane = new JScrollPane();
int count1;
public hadstudy() 
{
setTitle("已修选课信息");
JLabel q=new JLabel("学号");
JTextField w=new JTextField(10);
JButton B=new JButton("查询");
add(q);
add(w);
add(B);
                  B.addActionListener(this);
getContentPane().setLayout(new FlowLayout());
final GridBagConstraints grid = new GridBagConstraints();
final JLabel kongbai= new JLabel();
kongbai.setText("                                                                             ");
grid.gridy = 0;
grid.gridx = 0;
grid.insets = new Insets(0, 5, 0, 5);
add(kongbai,grid);
grid.fill = GridBagConstraints.BOTH;
grid.insets = new Insets(1, 5, 1, 5);
grid.weighty = 0.5;
grid.gridy =1;
grid.gridx = 0;
add(scrollPane, grid);
table = new JTable();
table.setEnabled(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
dftm = (DefaultTableModel)table.getModel();
String[] tableHeads = new String[]{"SNO","课程名称","学分","平时成绩","考试成绩","总评","备注"
};
dftm.setColumnIdentifiers(tableHeads);
xianshi_zhiyuan(dftm);
scrollPane.setViewportView(table);
setBounds(480, 300, 500, 280);
setVisible(true);
setResizable(false);

}
 private void xianshi_zhiyuan(DefaultTableModel e)
{
db = new link("YXG");
db.linkdb();
sql="select count(*) from XUANKE ";
db.sqlrun(sql);
db.next();
count1=Integer.parseInt(db.getresult(1));
sql="select * from XUANKE";
db.sqlrun(sql);
for(int i=0;i<count1;i++)
{
db.next();
Vector rowData = new Vector();//java.util包中的
rowData.add(db.getresult(1));  
rowData.add(db.getresult(2));  
rowData.add(db.getresult(3));  
rowData.add(db.getresult(4)); 
rowData.add(db.getresult(5));  
rowData.add(db.getresult(6));  
rowData.add(db.getresult(7));  
e.addRow(rowData);
}
}
          public void actionPerformed(ActionEvent e)
  {   
     if(e.getSource()==B)
     { 

????????????
     }
     }
public static void main(String args[])
{
new hadstudy();
}
}我想在这里面添加一个查询功能。该怎样写Action????

解决方案 »

  1.   

    假设 数据库类 Dao dao = new Dao(); 这里面写了查询所有数据的方法 getAllData();
        返回的集合类存储数据 Vector vec = dao.getAllData(); 就OK了,之后你就只要把vec里面的数据拿出来显示就行了
      

  2.   


    写的是jdbc连接数据库代码吧!
      

  3.   


       public static ResultSet fun(String sqlstr) {
            try {
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");            
                conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + "localhost" + ":" + "1433" +
                        ";databaseName=" + "dbLibary" + ";selectMethod=" + "cursor" +";" , "sa", "1234");
                pstmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                rs = pstmt.executeQuery(sqlstr);
            } catch(Exception ex) {
                ex.printStackTrace();
            }
            return rs;
        }懒得看代码了, 传一个封装好的函数, 连接SQL数据库, 数据库叫DBLIBARY, USERNAME, PASSWORD的自己改改