关于Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException的问题

时间:2023-01-26 21:15:06
新手小弟做了一个图形界面查询数据库,数据库已经连接成功,但是在查询的时候一直出现这个问题
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

错误出现在Statement stmt=con.createStatement();    位置

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class CheckFields extends JFrame implements ActionListener
{


  private JTextField td=new JTextField("",20);
  private JTextField tp=new JTextField("",20);
  private JButton insert=new JButton("查询");
  private Connection con;
  Container c;
 public CheckFields()


super("按日期查询");
c=getContentPane();
c.setLayout(new FlowLayout());
c.add(new JLabel("请输入日期"));
c.add(td);
c.add(insert);
c.add(tp);
insert.addActionListener(this);
setSize(350,200);
setVisible(true); 
}
public void actionPerformed(ActionEvent e)
{
try
{
if (!td.getText().equals(""))
{
Statement stmt=con.createStatement();    

String query="SELECT * FROM 1 WHERE date='"+td.getText()+"'";

ResultSet rs=stmt.executeQuery(query);

showResultSet(rs);

// ta.setText(rs.getString(1)+rs.getString(2)+rs.getString(3)+rs.getString(4));
stmt.close();

}
else
JOptionPane.showMessageDialog(null,"请输入日期");

  }
  catch(SQLException e2)
  {
   JOptionPane.showMessageDialog(null,"请输入日期"); 


  }
  
}
public void showResultSet(ResultSet rs)
{
try
{
if (rs.next())
tp.setText(rs.getString("product"));
else
tp.setText("没有此记录");
JOptionPane.showMessageDialog(null,"没有此记录"); 

  }
   catch(SQLException e3)
  {
  JOptionPane.showMessageDialog(null,"没有此记录");
  }
}
}

请高手指点

6 个解决方案

#1


con没有获取,你只定义了private Connection con,但是没看到获取连接的过程.

#2


con没有实例化

#3


请教大虾,连接con我在另外一个程序中已经与数据库连接,怎么引用过来?

#4


问题已经解决,谢谢各位大虾

#5


con = null了

#6


我也有一样的错误,请问怎么解决啊?

#1


con没有获取,你只定义了private Connection con,但是没看到获取连接的过程.

#2


con没有实例化

#3


请教大虾,连接con我在另外一个程序中已经与数据库连接,怎么引用过来?

#4


问题已经解决,谢谢各位大虾

#5


con = null了

#6


我也有一样的错误,请问怎么解决啊?