一个关于jsp+MySQL的编程问题,新手,救急... 下面两个语句为什么结果不是一样的?String sql2="update book set mount=10000 where bookname='"+name+"'";String sql2="update book set mount=num where bookname='"+name+"'";num是int类型的数值,为什么传不进去。要怎么样处理?我需要实现用变量来传进数值到数据库中,有不明白的地方尽管问。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String sql2="update book set mount="+num+" where bookname='"+name+"'";改成这样试一下... 如果你数据库的mount字段是int型的,采用1楼的做法 大哥你这样怎么床的进去?String sql2="update book set mount="+num+" where bookname='"+name+"'";这样是对的"update book set mount=num where bookname='"这样双引号里面 都是字符串 1楼正解 String sql2="update book set mount=num where bookname='"+name+"'";如果这么写的, num会被当成一个整个String里的一部分,而不会认为他是变量 "+num+" 改成这样才能从num中取出值来 建议用占位符的方式,你这样会产生SQL注入漏洞String sql = "update book set mount=? where bookname=?" ;PreparedStatement ps = conn.prepareStatement(sql);ps.setObject(1,num);ps.setObject(2,name); 昨晚搞掂了,谢谢各位。String sql2="update book set mount=num where bookname='"+name+"'";这样子ok。还有一位仁兄的建议没有试过,但是可能理解错我的意思了。 如果在官网上下载ssh的驱动包 新手问个struts版本问题! foreach编译数据库 关于操作dbf 的问题 折腾了一圈,还是回到EditPlus+JSP来,还是原始的简单 有用过MyFaces的兄弟吗?近来看看,配置的问题! 显示当前时间的jsp代码怎么写? jsp中数据库(sql server 2000)连接问题. 如何插入名次字段数据? JDBC连接sql server的问题,都n年了,还没解决 struts2 用ajax传参的时候是乱码~~~~~~ 别轻易说你能解决!!!! hql 一对一多表查询问题
改成这样试一下...
采用1楼的做法
如果这么写的, num会被当成一个整个String里的一部分,而不会认为他是变量 "+num+" 改成这样才能从num中取出值来
String sql = "update book set mount=? where bookname=?" ;
PreparedStatement ps = conn.prepareStatement(sql);
ps.setObject(1,num);
ps.setObject(2,name);
String sql2="update book set mount=num where bookname='"+name+"'";
这样子ok。还有一位仁兄的建议没有试过,但是可能理解错我的意思了。