这条sql语句为啥总不执行呢??求教。。
下面是我的sql语句:String sql = "UPDATE STUDENTS SET (姓名,性别,专业,密码) = (?,?,?,?) WHERE 学号 = ?";
完整代码:
String sql = "UPDATE STUDENTS SET (姓名,性别,专业,密码) = (?,?,?,?) WHERE 学号 = ?";
try {
Class.forName(this.dbDriver).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
try {
Connection conn = DriverManager.getConnection(this.dbUrl,
this.user, this.password);
if (!conn.isClosed()) {
PreparedStatement st = conn.prepareStatement(sql);
st.setString(1, student.getName());
st.setString(2, student.getSex());
st.setString(3, student.getMajor());
st.setString(4, student.getPassword());
st.setString(5, student.getStudentID());
Student stu = this.getStudentInfo(student.getStudentID());
if (stu != null) {
int count = st.executeUpdate();
System.out.println("ppp");
System.out
.println(count
+ " student's information has been updated in table STUDENTS!");
} else
System.out
.println("There isn't the student which you want to update his information!");
conn.close();
}
} catch (SQLException se) {
}
谢谢!!!!!
[解决办法]
update语句写错了啊,明显的。你把update语句填好值,运行一下。估计是执行不了
insert的时候才是前面字段名 然后values后面加值,也不是等号啊。
upadate 应该是一楼的写法,UPDATE STUDENTS SET 姓名=?,性别=?,专业=?,密码=? WHERE 学号 = ?
[解决办法]
String sql = "UPDATE STUDENTS SET (姓名,性别,专业,密码) = (?,?,?,?) WHERE 学号 = ?";
这句话有错啊
应该这样写
String sql = "UPDATE STUDENTS SET 姓名=?,性别 = ?,专业 =? ,密码 = ? WHERE 学号 = ?";
[解决办法]
insert语句这样写
String sql = "insert into STUDENTS (姓名,性别,专业,密码) valus (?,?,?,?)"