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
我也有一样的错误,请问怎么解决啊?