会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132649个问题
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 978楼

package com.bjsxt.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Insert {
    public void insertData(String username, String password) {
        Connection conn = null;
        Statement stt = null;

        try{
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookdata?userUnicode=true&characterEncoding=utf-8", "root", "333");
            String sql = "insert into bookusers values('"+username+"', '"+password+"')";
            stt = conn.createStatement();
            boolean flag = stt.execute(sql);
            System.out.println(flag);

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                stt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        Insert insert = new Insert();
        insert.insertData("徐键", "xujian");
    }
}


输出结果:false

为什么数据成功插入,返回结果却是false;


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 979楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 980楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 981楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 982楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 984楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 988楼

package com.bjsxt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

/*
* jdbc工具类
* */
public class JdbcUtil {
    private static String driver;
    private static String jdbcUrl;
    private static String username;
    private static String userpassword;
    static {
        //读取properties文件
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
        driver = bundle.getString("driver");
        jdbcUrl = bundle.getString("jdbcUrl");
        username = bundle.getString("username");
        userpassword = bundle.getString("userpassword");
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    //获取Connection对象
    public static Connection getConnection(){
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(jdbcUrl,username,userpassword);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    //关闭statement
    public static void closeStatement(Statement state){
        if (state != null){
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    //关闭Connection
    public static void closeConnection(Connection conn){
        if (conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    //关闭资源
    public static void closeResource(Statement state ,Connection conn){
        closeStatement(state);
        closeConnection(conn);
    }
}[object Object]

image.png

image.png

这个问题实在找不到为什么?看不出来哪里报错??????



JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 989楼

package com.bjsxt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcText {
    //向Departments表中添加一条数据
    public void insertDepartments(String department_name,int location_id){
            Connection conn = null;
            Statement state =null;
        try {
            //驱动的注册
            Class.forName("com.mysql.jdbc.Driver");
            //创建链接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
            String sql = "insert into departments values(default,'"+department_name+"',"+location_id+")";
            state = conn.createStatement();
            int flag = state.executeUpdate(sql);
            System.out.println(flag);

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (state != null){
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

        }
    }
    //更新departments表中的department_id为6的数据,将部门名称修改为教学部,location_id修改为6
    public  void updateDepartments(String department_name,int location_id,int department_id){
        Connection conn = null;
        Statement state = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
            state = conn.createStatement();
            String sql = "update dapartments d set d.department_name = '"+department_name+"',d.location_id = "+location_id+" where d.department_id ="+department_id;
            int flag = state.executeUpdate(sql);
            System.out.println(flag);
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (state != null){
                try {
                    state.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static void main(String[] args) {
        JdbcText test = new JdbcText();
       // test.insertDepartments("研发部",8);
        test.updateDepartments("教学部",6,6);
    }
}

老师,我在执行的时候一直报错52行,找了很久实在找不出原因,麻烦帮我看下

image.png

JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 990楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637