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)
老师,这是哪里出了问题啊,找了很久也没找着原因