String sql_update="update stu set \"s_name\"="+name+",\"s_sex\"="+sex+",\"s_class\"="+s_class+"where \"s_id\"="+id;这个语句哪错了
时间: 2023-07-03 10:31:28 浏览: 146
这条 SQL 语句中,字符串类型的字段值需要用单引号(')或双引号(")括起来,而你的语句中没有给字符串类型的字段值加上单引号或双引号,所以会导致语法错误。正确的语句应该是:
```
String sql_update = "update stu set \"s_name\"='" + name + "', \"s_sex\"='" + sex + "', \"s_class\"='" + s_class + "' where \"s_id\"=" + id;
```
这样就能正确地将字符串类型的字段值括起来,避免了语法错误。
相关问题
String sql_update="update stu set \"s_name\"="+name+",\"s_sex\"=\"+sex+\",\"s_class\"=\""+s_class+"where \"s_id\"="+id;
这是一段Java代码,用来更新数据库表中的学生信息。具体来说,这段代码通过执行SQL语句实现更新操作,将学生的姓名、性别和班级信息更新到数据库表的对应记录中。其中,变量name、sex、s_class和id分别代表学生的姓名、性别、班级和学号。需要注意的是,在SQL语句中,所有的字段名称和字符串值都需要使用双引号(")括起来。同时,SQL语句的末尾需要加上分号(;)表示语句的结束。
public class StudentDao { private String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; private String url = "jdbc:odbc:mydb"; private void executeUpdate(String sql) { try { Class.forName(driver); Connection con = DriverManager.getConnection(url); Statement cmd = con.createStatement(); cmd.executeUpdate(sql); con.close(); } catch (Exception ex) { ex.printStackTrace(); } } public boolean modifyStudent_info(String sno, String sname, String sex, String add ,String tel) { String sql = "update stu_pro set sno = '"+sno+"',sname = '"+sname+"',sex = '"+sex+"',add = '"+add +"',tel = '"+tel+"'where sno = '"+sno+"' "; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn(); return true ; } public boolean modifyStudent_score(String sno,double math,double physics,double english,double score_ave, double score_tog,double score_pol,double score_tea,double score_syn){ String sql = "update stu_pro set math = '"+math+"',physics = '"+physics+"',english = '"+english +"',score_ave = '"+score_ave+"',score_tog = '"+score_tog+"',score_pol = '"+score_pol +"',score_tea = '"+score_tea+"',score_syn = '"+score_syn+"' where sno = '"+sno+"' "; executeUpdate(sql); orderStudent_no_test(); orderStudent_no_syn(); return true; }
这段代码是一个 Java 类,名为 StudentDao,用于与数据库进行交互,提供了修改学生信息和成绩的方法。它依赖于 java.sql 包,使用 JDBC API 来连接和操作数据库。在这个类中,有两个私有属性:driver 和 url,分别表示数据库驱动和连接 URL。同时,这个类还定义了一个私有方法 executeUpdate(sql),用于执行 SQL 更新语句。在 modifyStudent_info(sno, sname, sex, add, tel) 和 modifyStudent_score(sno, math, physics, english, score_ave, score_tog, score_pol, score_tea, score_syn) 方法中,它们都调用了 executeUpdate(sql) 方法来执行 SQL 更新语句,从而实现对数据库中学生信息和成绩的修改。最后,这两个方法还调用了 orderStudent_no_test() 和 orderStudent_no_syn() 方法,对学生信息进行排序,然后返回 true 表示操作成功。
阅读全文