+ -
当前位置:首页 → 问答吧 → 这条sql语句为啥总不执行呢??求教。。

这条sql语句为啥总不执行呢??求教。。

时间:2011-10-20

来源:互联网

下面是我的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) {

}

谢谢!!!!!

作者: leehom_zhang   发布时间: 2011-10-20

sql语句写错了吧 update student set xm=?,xb=?;

作者: qjldx   发布时间: 2011-10-20

回一楼 不行啊

作者: leehom_zhang   发布时间: 2011-10-20

你确定你的id有值?即Student stu = this.getStudentInfo(student.getStudentID());

作者: zengweipan_huohe   发布时间: 2011-10-21

student.getStudentID()哪来的,先把student的所有信息都输出一遍,看看对不对,
再测一下this.getStudentInfo(student.getStudentID());有没问题
还有报的是什么错

作者: funfenffun   发布时间: 2011-10-21

把SQL 写好 放数据库先跑一遍 先排除是不是SQL 本身有问题 再说

作者: nizhicheng   发布时间: 2011-10-21

引用 5 楼 nizhicheng 的回复:

把SQL 写好 放数据库先跑一遍 先排除是不是SQL 本身有问题 再说

同意,明显sql书写有问题

作者: agan22   发布时间: 2011-10-21

update语句写错了啊,明显的。你把update语句填好值,运行一下。估计是执行不了
insert的时候才是前面字段名 然后values后面加值,也不是等号啊。
upadate 应该是一楼的写法,UPDATE STUDENTS SET 姓名=?,性别=?,专业=?,密码=? WHERE 学号 = ?

作者: woaidoudoue   发布时间: 2011-10-21