关于一个mysql语句,大家帮忙看看吧

ListeningStone 2016-08-31 11:22:16
COMM,SAL 都是两个int类型的字段
select * from emp where COMM>SAL
上面这个sql语句在操作数据库是有结果的
但是下面这个在eclipse里面运行 没有结果 有什么错误吗
String sql = "select * from emp where ?>?";
ps = conn.prepareStatement(sql);
ps.setString(1, "COMM");
ps.setString(2, "SAL");
...全文
617 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2016-09-14
  • 打赏
  • 举报
回复
看出问题了,但发现7楼已经说清楚了
爱睡觉的阿狸 2016-09-13
  • 打赏
  • 举报
回复
COMM不需要传入吧
  • 打赏
  • 举报
回复
7楼正解! 顶一个
a632752281 2016-09-09
  • 打赏
  • 举报
回复
7楼正解! 顶一个
_Kem 2016-09-09
  • 打赏
  • 举报
回复
引用 7 楼 securitit 的回复:
预加载设置值和直接写的SQL不一样的 你想要的SQL:select * from emp where COMM > SAL 预加载替换后的SQL:select * from emp where ‘COMM‘ > ‘SAL‘ 而‘COMM‘ > ‘SAL‘这个条件是恒不成立的,所有你毛都查不到 JDBX预加载是为了字段和对应的值比较的,你两个字段之间比较,根本不用传值,直接写在SQL里就好了
七楼正解!
HerveyHall 2016-09-01
  • 打赏
  • 举报
回复
用setint方法试试
sanvnie_kaka 2016-09-01
  • 打赏
  • 举报
回复
楼上已经有答案了,如果你想字段是变量 可以用字符串拼接出sql, 不需要用到?,然后再设置
securitit 2016-09-01
  • 打赏
  • 举报
回复
预加载设置值和直接写的SQL不一样的 你想要的SQL:select * from emp where COMM > SAL 预加载替换后的SQL:select * from emp where ‘COMM‘ > ‘SAL‘ 而‘COMM‘ > ‘SAL‘这个条件是恒不成立的,所有你毛都查不到 JDBX预加载是为了字段和对应的值比较的,你两个字段之间比较,根本不用传值,直接写在SQL里就好了
nikyotensai 2016-09-01
  • 打赏
  • 举报
回复
引用 4 楼 qq_26508409 的回复:
你就写了个sql,要什么结果。 你在数据库里面不点执行看看有没有结果
加上,自己看着改
ResultSet res;
res = sql.executeQuery();
			System.out.println("结果:");
			while (res.next()) {
				String t1= res.getInt(1);
				String t2= res.getString(2);
				String t3= res.getString(3);
				syso(t1+t2+t3);
			}
qq_25914321 2016-09-01
  • 打赏
  • 举报
回复
你debug看看ps存了什么值
nikyotensai 2016-09-01
  • 打赏
  • 举报
回复
你就写了个sql,要什么结果。 你在数据库里面不点执行看看有没有结果
rendason 2016-09-01
  • 打赏
  • 举报
回复
我这没有错误
sean_0xiao 2016-08-31
  • 打赏
  • 举报
回复
报的什么错?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧