2010-05-31 3 views
0

나는 단지 자바 초보자입니다. 오류를 판별하는 방법에 대한 조언이 있습니까? mysql 더비 데이터베이스에 연결하려고합니다. 오류를 확인하는 방법을 모르겠지만 빨간색 줄은 없지만 프로그램을 실행하려고하면 나타나는 메시지 상자가 있습니다. 내가 원하는 것은 데이터베이스에 첫 번째 레코드를 표시하는 것입니다.자바에서 오류를 확인하는 방법

E : \ 사용자 \ users.netbeans 6.8 \ VAR \ \ 캐시 \ 실행자 - 조각 \ run.xml : 45 :

package Employees; 

import java.sql.Statement; 

import javax.swing.JOptionPane; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.ResultSet; 
/** 
* 
* @author Nrew 
*/ 
public class Students extends javax.swing.JFrame { 

    Connection con; 
    Statement stmt; 
    ResultSet rs; 


    /** Creates new form Students */ 
    public Students() { 
     initComponents(); 

DoConnect(); 

    } 

    public void DoConnect(){ 
      try { 
      String host= "jdbc:derby://localhost:1527/YURA"; 
String uname = "bart"; 
String pword = "12345"; 
con = DriverManager.getConnection(host, uname, pword); 

stmt = con.createStatement(); 
String SQL = "SELECT * FROM APP.XROSS"; 
rs = stmt.executeQuery(SQL); 
rs.next(); 

rs.next(); 
int ids = rs.getInt("IDNUM"); 
String idz = Integer.toString(ids); 
String fname = rs.getString("FNAME"); 
String lname = rs.getString("LNAME"); 
String course = rs.getString("COURSE"); 
String skul = rs.getString("SCHOOL"); 
String gen = rs.getString("GENDER"); 

TextIDNUM.setText(idz); 
TextFNAME.setText(fname); 
TextLNAME.setText(lname); 
textCOURSE.setText(course); 
textSCHOOL.setText(skul); 
textGENDER.setText(gen); 







     } 
     catch (SQLException err) { 
      JOptionPane.showMessageDialog(Students.this, err.getMessage()); 



    } 
    } 

    /** This method is called from within the constructor to 
    * initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is 
    * always regenerated by the Form Editor. 
    */ 
    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
    private void initComponents() { 

     TextIDNUM = new javax.swing.JTextField(); 
     TextFNAME = new javax.swing.JTextField(); 
     TextLNAME = new javax.swing.JTextField(); 
     textCOURSE = new javax.swing.JTextField(); 
     textSCHOOL = new javax.swing.JTextField(); 
     textGENDER = new javax.swing.JTextField(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(116, 116, 116) 
       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) 
        .addComponent(textGENDER, javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(textSCHOOL, javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(textCOURSE, javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(TextLNAME, javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(TextFNAME, javax.swing.GroupLayout.Alignment.LEADING) 
        .addComponent(TextIDNUM, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE)) 
       .addContainerGap(243, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(37, 37, 37) 
       .addComponent(TextIDNUM, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(18, 18, 18) 
       .addComponent(TextFNAME, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(18, 18, 18) 
       .addComponent(TextLNAME, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(18, 18, 18) 
       .addComponent(textCOURSE, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(textSCHOOL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
       .addComponent(textGENDER, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(67, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold> 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new Students().setVisible(true); 
      } 
     }); 
    } 

    // Variables declaration - do not modify 
    private javax.swing.JTextField TextFNAME; 
    private javax.swing.JTextField TextIDNUM; 
    private javax.swing.JTextField TextLNAME; 
    private javax.swing.JTextField textCOURSE; 
    private javax.swing.JTextField textGENDER; 
    private javax.swing.JTextField textSCHOOL; 
    // End of variables declaration 

} 
+3

메시지 상자에는 무엇이 표시됩니까? – jasonmp85

+0

또한 나는 우리가 "m, v, 그리고 c에 최소한의 줄 수"에 대한 새로운 도전자를 가지고 있다고 생각한다. – jasonmp85

+1

jasonmp85, 초보자는 배워야 만한다 ... –

답변

3

내가 얻을 모든 출력이입니다 다음과 같이 stackTrace을 인쇄하십시오.

catch (SQLException err) { 
    err.printStackTrace(); // <-- add this 

    JOptionPane.showMessageDialog(Students.this, err.getMessage()); 
} 
+0

나는 여기에서 문제가 있다고 생각하지 않는다. –

+0

@Georgy : 그리고 문제는 무엇이라고 생각합니까? 그는 분명히 데이터베이스에서 첫 번째 행을 가져 오지 않지만 그 대신 많은 것을 말하지 않는 메시지 대화 상자를 얻습니다. – Espen

관련 문제