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

package com.bjsxt;

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

public class JdbcTest {
	//向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 flat = state.executeUpdate(sql);
			System.out.println(flat);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(state != null){
				try {
					state.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}if(conn!= null){
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
	}
	//更新Departments
	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 departments 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) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}if(conn!= null){
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
		
	}
	public static void main(String[] args) {
		JdbcTest test=new JdbcTest();
		//test.insertDepartments("研发部", 8);
		test.updateDepartments("教学部", 6, 6);
	}
	

}

报错

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'd.department_id = 6' at line 1
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
	at com.mysql.jdbc.Util.getInstance(Util.java:384)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2690)
	at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1648)
	at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1567)
	at com.bjsxt.JdbcTest.updateDepartments(JdbcTest.java:54)
	at com.bjsxt.JdbcTest.main(JdbcTest.java:81)

老师,这是哪里出了问题啊,找了很久也没找着原因



JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 771楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 772楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 775楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 776楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 777楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 779楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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