连接数据库java.lang.nullPointerException的错误如何解决?
刚才结贴结错了,重发一贴;
小弟是初学者,在连接数库超老是报错
系统环境:
win2000
JBuilder9
SQL Server2000
代码:
package card;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;
public class loginFrame extends JFrame {
JPanel contentPane;
private String CardID;
private String loginQuery;
private String passwordtemp;
private PreparedStatement loginStmt;
private Connection con;
private ResultSet rs;
........
JTextField jTextField1 = new JTextField();
JPasswordField jPasswordField1 = new JPasswordField();
public loginFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
.......
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(177, 102, 105, 22));
jPasswordField1.setBounds(new Rectangle(178, 142, 107, 22));
contentPane.add(jPasswordField1, null);
contentPane.add(jTextField1, null);
// join sql server2000
Connection con=cardConnect.getconn();
//建立对象,直接调用cardConnect的方法
loginQuery="Select * from [dbo].card where CardID=? and UserID=?";
PreparedStatement loginStmt = con.prepareStatement(loginQuery);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
try{
CardID = jTextField1.getText(); //提取Card值
try{
loginStmt.setString(1,CardID);
}catch(Exception ex)
{
System.out.println(CardID+" "+ex);
}
finally{
cardConnect.close(rs);
cardConnect.close(loginStmt);
cardConnect.close(con);
}
}
}
package card;
import java.sql.*;
public class cardConnect {
public cardConnect() {
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException ee){
}
}
public static Connection getconn() throws SQLException{
String url="jdbc:microsoft:sqlserver://192.168.1.4:1433;DatabaseName=java_test";
String username="sa";
String password="";
return DriverManager.getConnection(url,username,password);
}
public static void close(ResultSet rs){
try{
rs.close();
}
catch(Exception ex){
}
}
public static void close(Statement stmt){
try{
stmt.close();
}
catch(Exception ex){
}
}
public static void close(Connection conn){
try{
conn.close();
}
catch(Exception ex){
}
}
private static cardConnect dbconn=new cardConnect();
}
当触发这个事件的时侯:jButton1_actionPerformed(ActionEvent e)
报java.lang.nullPointerException的错误
java.lang.NullPointerException
at card.loginFrame.jButton1_actionPerformed(loginFrame.java:112)
at card.loginFrame_jButton1_actionAdapter.actionPerformed(loginFrame.java:179)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5134)
at java.awt.Component.processEvent(Component.java:4931)
at java.awt.Container.processEvent(Container.java:1566)
at java.awt.Component.dispatchEventImpl(Component.java:3639)
at java.awt.Container.dispatchEventImpl(Container.java:1623)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
at java.awt.Container.dispatchEventImpl(Container.java:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1590)
at java.awt.Component.dispatchEvent(Component.java:3480)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
这种错误怎么解决 谢谢!