sinat_25945001 2015-08-17 23:42 采纳率: 100%
浏览 1308
已采纳

帮帮忙,看看应该改哪里,谢谢

package javaJDBC;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/*

  • //采用PreparedStatement添加数据
    */
    public class InsertTest02 {

    public static void main(String[] args) {
    Connection conn = null;
    PreparedStatement pstmt = null;
    try{
    //加载数据库驱动
    Class.forName("com.mysql.jdbc.Driver");
    //连接数据库
    String dbUrl = "jdbc:mysql://localhost:3306/student";
    String username = "root";
    String password = "mysql";
    //执行PreparedStatement语句,执行SQL
    String name = "莫燕";
    String number = "123456";
    String class1 = "1102";
    int score = 97;
    String sql = "insert into stu(name, number, class1, scoree) values (?, ?, ?, ?)";
    pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, name);
    pstmt.setString(2, number);
    pstmt.setString(3, class1);
    pstmt.setInt(4, score);
    pstmt.executeUpdate();
    System.out.println("添加员工成功");
    }catch(ClassNotFoundException e){
    e.printStackTrace();
    }catch(SQLException e){
    e.printStackTrace();
    }finally{
    try{
    //关闭原则:从里到外
    if(pstmt != null)
    pstmt.close();
    if(conn != null)
    conn.close();
    }catch(SQLException e){
    e.printStackTrace();
    }

    }
    

    }

}
Exception in thread "main" java.lang.NullPointerException
at javaJDBC.InsertTest02.main(InsertTest02.java:29)

  • 写回答

2条回答 默认 最新

  • 丵鹰 2015-08-18 01:25
    关注
     public static void main(String[] args) {
             Connection conn = null;
             PreparedStatement pstmt = null;
             try{
             //加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
             //连接数据库
            String dbUrl = "jdbc:mysql://localhost:3306/student";
             String username = "root";
             String password = "mysql";
             //执行PreparedStatement语句,执行SQL
             String name = "莫燕";
            String number = "123456";
             String class1 = "1102";
             int score = 97;
             String sql = "insert into stu(name, number, class1, scoree) values (?, ?, ?, ?)";
             conn= DriverManager.getConnection(dbUrl, username, password);   ------少了这一句
             pstmt =conn.prepareStatement(sql);
             pstmt.setString(1, name);
             pstmt.setString(2, number);
             pstmt.setString(3, class1);
             pstmt.setInt(4, score);
             pstmt.executeUpdate();
             System.out.println("添加员工成功");
             }catch(ClassNotFoundException e){
             e.printStackTrace();
             }catch(SQLException e){
             e.printStackTrace();
             }finally{
             try{
             //关闭原则:从里到外
            if(pstmt != null)
             pstmt.close();
             if(conn != null)
             conn.close();
             }catch(SQLException e){
             e.printStackTrace();
             }
            }
    
    
            }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘