我正在嘗試使用擺動事件處理來訪問數據庫表記錄,但按下按鈕後它顯示異常。我不知道什麼是錯的。這裏是我的代碼:我不能解決這個「NullPointerException」
private void DisplayAllButtonActionPerformed(java.awt.event.Act ionEvent evt) {
try {
String SQL = "SELECT * FROM OCCUPANTS";
rs = stmt.executeQuery(SQL); //line no 264
while(rs.next()) {
int id_col = rs.getInt("ID");
String id=Integer.toString(id_col);
String room =rs.getString("ROOM");
String occupant = rs.getString("OCCUPANT");
DisplayArea.setText(id + " " + room + " " + occupant);
}
}
catch (SQLException err) {
System.out.println(err.getMessage());
}
}
休耕是例外:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at wumpus.WumpusGUI.DisplayAllButtonActionPerformed(W umpusGUI.java:264)
at wumpus.WumpusGUI.access$300(WumpusGUI.java:16)
at wumpus.WumpusGUI$4.actionPerformed(WumpusGUI.java: 164)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.jav a:6505)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3321)
at java.awt.Component.processEvent(Component.java:627 0)
at java.awt.Container.processEvent(Container.java:222 9)
at java.awt.Component.dispatchEventImpl(Component.jav a:4861)
at java.awt.Container.dispatchEventImpl(Container.jav a:2287)
at java.awt.Component.dispatchEvent(Component.java:46 87)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4422)
at java.awt.Container.dispatchEventImpl(Container.jav a:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:46 87)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:703)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:676)
at java.awt.EventQueue$4.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 673)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:97)
BUILD SUCCESSFUL (total time: 28 seconds)
這裏是stmt
public class WumpusGUI extends javax.swing.JFrame {
Connection con;
Statement stmt;
ResultSet rs;
/**
* Creates new form WumpusGUI
*/
public WumpusGUI() {
initComponents();
DBConnect();
}
public void DBConnect() {
try {
String host = "jdbc:derby://localhost:1527/occupants";
String uName = "ravi";
String uPass= "ravi";
Connection con = DriverManager.getConnection(host, uName, uPass);
Statement stmt = con.createStatement();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
感謝的全球初始化。
什麼是「stmt」和聲明/初始化位置? – JTMon 2012-08-01 09:50:57
我現在編輯了代碼。 – 2012-08-01 09:59:43
你能在WumpusGUI.java中顯示第264行嗎? – 2012-08-01 10:30:24