2011-12-28 5 views
0

다음 코드를 사용하여 MYSQL 데이터베이스에서 데이터를 검색합니다 .I 데이터베이스 연결을위한 별도의 메서드 (GCotnStr)를 만들고이 코드에서이 메서드를 호출합니다 .DB 연결 및 데이터 검색 제대로 작동하고 있습니다. 내 문제는 "String StudName = TmpFlxTRs.getString ("StudName ");" JTable에서 값을 가져오고 설정하기위한 결과, mark1, mark2, 결과. 특정 행을 사용하여 데이터를 검색하고 JTable에 표시하는 방법, 학생 이름을 사용하여 데이터를 검색하는 방법, 매개 변수를 "학생 이름"으로 전달하면 나는 "String StudName = TmpFlxTRs.getString ("StudName ");"을 사용하지 않고 모든 학생 이름을 얻습니다. FOR LOOP을 사용하십시오.for 루프를 사용하여 데이터베이스에서 데이터 가져 오기

package designstudent; 
import javax.swing.table.DefaultTableModel; 
import java.sql.*; 

public class FrmeA extends javax.swing.JFrame { 

    Statement TmpFlxTSt=null; 
     ResultSet TmpFlxTRs=null; 
     GContnStr GCS=new GContnStr(); 

    public FrmeA() { 
     initComponents(); 
    } 

public void initcon() 
    { 
try{ 
    DefaultTableModel model=(DefaultTableModel)jTable1.getModel(); 
      GCS.GContnStr(); 
      TmpFlxTSt= GCS.GCotnStr.createStatement(); 
      String select = "Select * from studentmaster"; 
      TmpFlxTRs = TmpFlxTSt.executeQuery(select); 

       int i = 0; 
       while (TmpFlxTRs.next()){ 

        String Name = TmpFlxTRs.getString("StudName"); 
        String Class = TmpFlxTRs.getString("StudClass"); 
        String Subj1 = TmpFlxTRs.getString("StudMrk1"); 
        String Subj2= TmpFlxTRs.getString("StudMrk2"); 
        String StudTot = TmpFlxTRs.getString("StudTot"); 
        String StudRes= TmpFlxTRs.getString("StudRes"); 
        String StudNo=TmpFlxTRs.getString("StudNo"); 
        String StudId=TmpFlxTRs.getString("StudId"); 
        model.addRow(new Object[]{Name,Class,Subj1,Subj2,StudTot,StudRes,StudId,StudNo}); 
} 
     } 
     catch (Exception e) { 
       System.out.println(e); 
      } 
       } 

    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jPanel1 = new javax.swing.JPanel(); 
     jPanel2 = new javax.swing.JPanel(); 
     CmdA = new javax.swing.JButton(); 
     CmdE = new javax.swing.JButton(); 
     CmdD = new javax.swing.JButton(); 
     cmdQ = new javax.swing.JButton(); 
     jPanel3 = new javax.swing.JPanel(); 
     jScrollPane1 = new javax.swing.JScrollPane(); 
     jTable1 = new javax.swing.JTable(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, new java.awt.Color(0, 0, 255)), "Commands")); 

     CmdA.setText("+"); 

     CmdE.setText("E"); 

     CmdD.setText("-"); 

     cmdQ.setText("Q"); 

     javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); 
     jPanel2.setLayout(jPanel2Layout); 
     jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel2Layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(CmdA, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(CmdE, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(CmdD, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(cmdQ, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap()) 
     ); 
     jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel2Layout.createSequentialGroup() 
       .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 
        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() 
         .addGap(20, 20, 20) 
         .addComponent(CmdA, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)) 
        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() 
         .addGap(22, 22, 22) 
         .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
          .addComponent(CmdD, javax.swing.GroupLayout.DEFAULT_SIZE, 57, Short.MAX_VALUE) 
          .addComponent(CmdE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
          .addComponent(cmdQ, javax.swing.GroupLayout.DEFAULT_SIZE, 57, Short.MAX_VALUE)))) 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     ); 

     jPanel3.setBorder(javax.swing.BorderFactory.createMatteBorder(1, 1, 1, 1, new java.awt.Color(0, 0, 255))); 

     jTable1.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] { 

      }, 
      new String [] { 
       "StudName", "StudClass", "StudMrk1", "StudMrk2", "StudTot", "StudRes", "StudNO", "StudId" 
      } 
     ) { 
      Class[] types = new Class [] { 
       java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class 
      }; 

      public Class getColumnClass(int columnIndex) { 
       return types [columnIndex]; 
      } 
     }); 
     jScrollPane1.setViewportView(jTable1); 
     jTable1.getColumnModel().getColumn(0).setResizable(false); 
     jTable1.getColumnModel().getColumn(0).setPreferredWidth(150); 
     jTable1.getColumnModel().getColumn(1).setResizable(false); 
     jTable1.getColumnModel().getColumn(1).setPreferredWidth(70); 
     jTable1.getColumnModel().getColumn(2).setResizable(false); 
     jTable1.getColumnModel().getColumn(2).setPreferredWidth(70); 
     jTable1.getColumnModel().getColumn(3).setResizable(false); 
     jTable1.getColumnModel().getColumn(3).setPreferredWidth(70); 
     jTable1.getColumnModel().getColumn(4).setResizable(false); 
     jTable1.getColumnModel().getColumn(4).setPreferredWidth(70); 
     jTable1.getColumnModel().getColumn(5).setResizable(false); 
     jTable1.getColumnModel().getColumn(5).setPreferredWidth(70); 
     jTable1.getColumnModel().getColumn(6).setMinWidth(0); 
     jTable1.getColumnModel().getColumn(6).setPreferredWidth(0); 
     jTable1.getColumnModel().getColumn(6).setMaxWidth(0); 
     jTable1.getColumnModel().getColumn(7).setMinWidth(0); 
     jTable1.getColumnModel().getColumn(7).setPreferredWidth(0); 
     jTable1.getColumnModel().getColumn(7).setMaxWidth(0); 

     javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); 
     jPanel3.setLayout(jPanel3Layout); 
     jPanel3Layout.setHorizontalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 984, Short.MAX_VALUE) 
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel3Layout.createSequentialGroup() 
        .addContainerGap() 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 964, Short.MAX_VALUE) 
        .addContainerGap())) 
     ); 
     jPanel3Layout.setVerticalGroup(
      jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 249, Short.MAX_VALUE) 
      .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel3Layout.createSequentialGroup() 
        .addContainerGap() 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 184, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(54, Short.MAX_VALUE))) 
     ); 

     javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
     jPanel1.setLayout(jPanel1Layout); 
     jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() 
       .addContainerGap(657, Short.MAX_VALUE) 
       .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap()) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addContainerGap() 
        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
        .addContainerGap())) 
     ); 
     jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addGap(19, 19, 19) 
       .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(803, Short.MAX_VALUE)) 
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(jPanel1Layout.createSequentialGroup() 
        .addGap(190, 190, 190) 
        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(492, Short.MAX_VALUE))) 
     ); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 1016, Short.MAX_VALUE) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(layout.createSequentialGroup() 
        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 946, Short.MAX_VALUE) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(layout.createSequentialGroup() 
        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(13, Short.MAX_VALUE))) 
     ); 

     pack(); 
     java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 
     java.awt.Dimension dialogSize = getSize(); 
     setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2); 
    }// </editor-fold>       

    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
        FrmeA f= new FrmeA(); 
       f.initcon(); 
       f.setVisible(true); 

      } 
     }); 
    } 

    // Variables declaration - do not modify      
    private javax.swing.JButton CmdA; 
    private javax.swing.JButton CmdD; 
    private javax.swing.JButton CmdE; 
    private javax.swing.JButton cmdQ; 
    private javax.swing.JPanel jPanel1; 
    private javax.swing.JPanel jPanel2; 
    private javax.swing.JPanel jPanel3; 
    private javax.swing.JScrollPane jScrollPane1; 
    private javax.swing.JTable jTable1; 
    // End of variables declaration     

} 
+0

중복 가능성 (http://stackoverflow.com/questions/8645123/unable-to-show-any-output-in-a-jtable [MySQL의 데이터를 사용 JTable로 출력을 표시 할 수 없습니다] -using-mysql-data) – trashgod

답변

1

당신은 당신이 그렇게 열 매개 변수를 사용하는 일반적인 방법을 만든 모든 학생의 이름이 쿼리 String select = "Select StudName from studentmaster" 대신 String select = "Select * from studentmaster"이어야 싶어 예를 들어 원하는 정확한 데이터를 가져 오기 위해 쿼리를 수정하여 사용자 정의 메소드를 작성하는 쿼리로 가져옵니다.

1

음, 이것이 무슨 뜻인지 확실하지 않습니다.

String select = "Select StudName from studentmaster"; 
TmpFlxTRs = TmpFlxTSt.executeQuery(select); 

    while (TmpFlxTRs.next()){     
     // TmpFlxTRs.getString(1) will have the corresponding name, add it to the table. 
    } 
관련 문제