-1
package myproj;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import myproj.util.DBUtil;

/**
 *
 * @author PEARL
 */
public class DATAENTRY extends javax.swing.JFrame {

    /**
     * Creates new form DATAENTRY
     */
    public DATAENTRY() {
        try {
            initComponents();
            DBUtil util = new DBUtil();
            Connection con = util.getConnection();
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select * from bk_det inner join bk_rep on bk_det.rm_id = bk_rep.rm_id inner join bk_sec on bk_rep.rm_id = bk_sec.rm_id inner join mut_det on bk_sec.rm_id = mut_det.rm_id inner join rm_det on mut_det.rm_id = rm_det.rm_id inner join soil_det on rm_det.rm_id = soil_det.rm_id");
            ResultSetMetaData rsmetadata = rs.getMetaData();
            int columns = rsmetadata.getColumnCount();
            DefaultTableModel dtm = new DefaultTableModel();
            Vector columns_name = new Vector();
            Vector data_rows = new Vector();
            for(int i=1; i< columns; i++){
            columns_name.addElement(rsmetadata.getColumnName(i));
            }
            dtm.setColumnIdentifiers(columns_name);

            while(rs.next()){
            data_rows = new Vector();
            for(int j=1; j< columns; j++){
            data_rows.addElement(rs.getString(j));
            }
            dtm.addRow(data_rows);
            }
            MyTable.setModel(dtm);
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
            Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
public static void main(String arg[]){

}


}

我想在netbeans gui中将我的sql数据库中的记录显示到我的jtable,但能够成功显示编译和运行windows窗体,但它不显示受尊重的窗体请帮忙

4

5 回答 5

4

这是因为您需要DATAENTRY()在主类中调用

于 2012-12-29T15:54:10.080 回答
2

你的主要方法是空的,所以它不会做任何事情。

public static void main(String arg[]){

}
于 2012-12-29T15:53:28.980 回答
2

你知道你的main方法是完全空的吗? 程序中的所有内容都发生在main. 你会想DATAENTRY从那里实例化你的对象。

DATAENTRY da = new DATAENTRY();

也可能是其他东西也坏了;警惕并注意任何堆栈痕迹。

于 2012-12-29T15:53:49.763 回答
2

您的主要方法中没有任何内容。Java 从 main 方法开始运行代码。

于 2012-12-29T15:54:17.263 回答
1

添加这个

public static void main(String arg[]){
  DATAENTRY de = new DATAENTRY() ;
  de.pack();
  de.setVisible(true)
}

此外,类名DATAENTRY和您在构造函数中所做的所有事情都不是适当的标准。您应该遵循 java 代码标准。去谷歌上查询。

  1. 类名可以像DataEntryFrame
  2. 在构造框架后调用初始化组件deFrame.intilizeComponents()
  3. 将单独的方法用于更新表格内容,例如fillupTable()
  4. 最后使用事件或在 main 方法中调用 fillupTable 方法。
于 2012-12-29T15:55:52.340 回答