问题描述
- sql语句写法问题‘“ ”“
-
求教为什么要这样写 为什么要写成 '" + name + "'为什么有加号,为什么双引号外面还要+个单引号
String sql = "select * from t where username = '" + name + "' and password = '" + passwd + "'";String sql = "insert into emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) values("
+ emp.getEmpNo()
+ ", "
+ " '"
+ emp.getEname()
+ "', "
+ " '"
+ emp.getJob()
+ "', "
+ emp.getMgr()
+ ","
+ "to_date('"
+ emp.getHiredate()
+ "','yyyy-mm-dd'), "
+ emp.getSal()
+ ", "
+ emp.getComm() + ", " + emp.getDeptno() + ")";
解决方案
这个是拼串的,双引号里面只能是单引号 才会有效果。。。
解决方案二:
不要习惯于用sql拼接 很容易被sql注入的 还有“‘是为了正确的格式化
解决方案三:
name是一个变量,不能直接放到sql中,sql就是个字符串,你可以把多个变量拼接到一起组成一个完整的sql
解决方案四:
你把 System.out.println(sql );你就知道了
解决方案五:
SQL语句查询写法
SQL查询时间段的语句写法
查询最大值SQL语句写法
解决方案六:
你这是在字符串拼接,将动态数据如name(也就是你的变量)或者 emp.getComm() (也就是你的方法)的值组织成为SQL语句。另外,双引号和单引号交替使用其中一个将不会被编程语言解析,直接成为SQL语句中的引号。
解决方案七:
觉得应该是怕你的name里面有特别的字符 比如是双引号什么的 毕竟是字符串类型的字段