weixin_43812774 2018-12-20 14:57 采纳率: 0%
浏览 519

一直报错,有没有大佬帮忙看看

package admin;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;

@SuppressWarnings("serial")
public class Addstu extends JPanel implements ActionListener{
JTextField sn,sna,sde,scl,sse,sag ;
JButton 录入;
public Addstu() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e) {
System.out.println("不能设置外观: "+e);}
sn = new JTextField(12);
sna = new JTextField(12);
sde = new JTextField(12);
scl = new JTextField(12);
sse = new JTextField(12);
sag = new JTextField(12);
录入 = new JButton("录入");
录入.addActionListener(this);
//盒子布局,分水平和垂直
Box box1 = Box.createHorizontalBox();//横放box
Box box2 = Box.createHorizontalBox();
Box box3 = Box.createHorizontalBox();
Box box4 = Box.createHorizontalBox();
Box box5 = Box.createHorizontalBox();
Box box6 = Box.createHorizontalBox();
Box box7 = Box.createHorizontalBox();
box1.add(new JLabel("学号:"/*,JLabel.CENTER*/));
box1.add(sn);
box2.add(new JLabel("姓名:"/*,JLabel.CENTER*/));
box2.add(sna);
box3.add(new JLabel("专业:"/*,JLabel.CENTER*/));
box3.add(sde);
box4.add(new JLabel("班级:"/*,JLabel.CENTER*/));
box4.add(scl);
box5.add(new JLabel("性别:"/*,JLabel.CENTER*/));
box5.add(sse);
box6.add(new JLabel("年龄:"/*,JLabel.CENTER*/));
box6.add(sag);
box7.add(录入);
Box boxH = Box.createVerticalBox();//垂直方式布局
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(box7);
boxH.add(Box.createVerticalGlue());
JPanel messPanel = new JPanel();
messPanel.add(boxH);
setLayout(new BorderLayout());
add(messPanel,BorderLayout.CENTER);
validate();
}
//这是一个事件监听器,可以处理类似单击鼠标时触发的事件 ActionEvent就是一个事件类,传入的e就是该事件的对象

public void actionPerformed(ActionEvent c) {
// TODO Auto-generated method stub
Object obj = c.getSource();

if(obj== 录入) {
    if(sn.getText().equals("")||sna.getText().equals("")||sde.getText().equals("")||scl.getText().equals("")||sse.getText().equals("")||sag.getText().equals(""))   
        {JOptionPane.showMessageDialog(this, "学生信息请填满再录入");}
    Connection dbConn1 = CONN();
    Statement stmt = null;
    ResultSet rs1= null;
    String sql ,sql1;
    sql1 = "select * from stu1 where sno='"+sn.getText()+"'";
    sql = "inster into stu1 values('"+sn.getText()+"','"+sna.getText()+"','"+sde.getText()+"','"+scl.getText()+"','"+sse.getText()+"','"+sag.getText()+"')";
    try {       
        stmt=dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs1 =stmt.executeQuery(sql1);
    if(rs1.next()) {
        JOptionPane.showMessageDialog(this, "该学号已存在,无法添加");
    }
    else {
        stmt.executeUpdate(sql);
   JOptionPane.showMessageDialog(this, "添加成功");
    }
    rs1.close();
    stmt.close();
    }catch(SQLException e) {
        System.out.println("SQL Exception occur.Message is:"+e.getMessage());
    }
}

}

public static Connection CONN() {
// TODO Auto-generated method stub
Connection dbconn = null;
String driverName = "com.mysql.jdbc.Driver";

// URL指向要访问的数据库名student         
String dburl = "jdbc:mysql://127.0.0.1:3306/student?useSSL=false";

// MySQL配置时的用户名           
String user = "root";             
// MySQL配置时的密码      
String password = "yuguangliang@521";

try {             // 加载驱动程序           
    Class.forName(driverName);

 // 连续数据库       
    Connection conn = DriverManager.getConnection(dburl, user, password);
     if(!conn.isClosed())      

         System.out.println("Succeeded connecting to the Database!");
}catch(Exception e) {
     e.printStackTrace();
    }
return dbconn;  

}
}


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at 数据库设计/admin.Addstu.actionPerformed(Addstu.java:90)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

  • 写回答

1条回答 默认 最新

  • 孤独不是寂寞 2018-12-20 07:22
    关注

    图片说明
    其实这边也说明了,因为你代码我无法运行,所以只能告诉你,这是个空指针异常,方法传给你的值或者你从某个对象中取出来的值是null,然后你用这个null去进行判断,截取,计算等等操作就会报错,而且也告诉你这90行,就证明在90行代码附近出现问题,我不知道你90行前后是什么代码。

    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝