如何在JTable中显示从数据库检索的数据?

问题描述

有人可以帮助使用JTable数据库中检索数据并将其放入JButton吗?

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
       
public class try1 extends JFrame implements ActionListener {
    JLabel Lsearch;                                            
    static JTable table;
    String column[]={"ID","NAME"};
    JTextField Tsearch;                                        
    //String driverName;
    JButton Bsearch;                                           
    //String url;
    DefaultTableModel model = new DefaultTableModel();         
    //String userName;String password;
    String id= "";
    String name= "";
    String textvalue;
    String sql;

    public try1() {

        Lsearch = new JLabel(" ID:");
        Tsearch = new JTextField(15);
        Bsearch = new JButton("SEARCH");

        //String driverName = "com.MysqL.jdbc.Driver";
        //String url = "jdbc:MysqL://localhost:3306/example";
        //String userName = "root";String password = "root";
        String id= "";
        String name= "";

        model.setColumnIdentifiers(column);
        table = new JTable();
        table.setModel(model);
        table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
        table.setFillsViewportHeight(true);
        JScrollPane scroll = new JScrollPane(table);
        scroll.setHorizontalScrollBarPolicy(
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        textvalue = Tsearch.getText();

        add(scroll);add(Lsearch);add(Tsearch);add(Bsearch);
        Lsearch.setBounds(0,100,30);
        Tsearch.setBounds(30,3,20);
        Bsearch.setBounds(150,20);
        Bsearch.addActionListener(this);
        scroll.setBounds(0,350,50);

        getContentPane().setLayout(null);
        setSize(500,300);
        setVisible(true);
    }

    public static void main(String[] args) {
        new try1();
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == Bsearch) {
            try {
                Class.forName("com.MysqL.jdbc.Driver");
                Connection con = DriverManager.getConnection("jdbc:MysqL://localhost:3306/example","root","");
                sql = "select * from edata where ID = " + textvalue;
                PreparedStatement ps = con.prepareStatement(sql);
                ResultSet rs = ps.executeQuery();
                while(rs.next()) {
                    id = rs.getString("ID");
                    name = rs.getString("NAME");
                    model.addRow(new Object[]{id,name});
                }
                JOptionPane.showMessageDialog(null,"Data Successfully Update","Confirmation",JOptionPane.informatION_MESSAGE);
            } catch(Exception ei) {
                System.out.println("");
            }
       }
   }
}

屏幕截图:

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)