为了账号安全,请及时绑定邮箱和手机立即绑定

PrepareStatemetn内的SetInt方法

这一集里边有一个PrepareStatement类型的stmt对象

我想问一下:stmt.setInt(1,id)

这个方法是把1赋给id吗?

如果是的话,那么不是只能显示id=1d的那个商品的详细信息吗?

为什么在老师演示的时候,每一个商品的详细信息都能够显示出来呢?

正在回答

4 回答

//有如下代码:
int id  = 5;
String sql = "select * from items where id=?;"; 
stmt = conn.prepareStatement(sql);
stmt.setInt(1, id);// 表示为前面SQL语句中第一个?赋值, 值为5;也就是说前面的SQL语句会被翻译成"select * from items where id=5;"
/*
如果SQL语句是这样:String sql = "select * from items where id=? and city=?;"; 
String city = "北京";
stmt.setInt(1, id);
stmt.setString(2, city);
最终执行的SQL语句就是:select * from items where id=5 and city='北京';
*/


8 回复 有任何疑惑可以回复我~
#1

南国雨 提问者

非常感谢!
2015-08-14 回复 有任何疑惑可以回复我~

very good


0 回复 有任何疑惑可以回复我~

这个不是id=1的意思,而是sql语句中第二个问号赋值,比如String hql = "select * from student where age = ? and id =?";  然后用pstmt.SetInt(1,id);意思是第二个问号 用方法上入参的id赋值给它。


1 回复 有任何疑惑可以回复我~
#1

南国雨 提问者

貌似还没有明白。 你举的这个例子中筛选的是id=1的那条记录吗? 再求解!!!
2015-07-16 回复 有任何疑惑可以回复我~
#2

码农_鑫森淼焱垚

帮这位童鞋更正一下, 1代表第一个问号 而不是第二个....
2015-10-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

PrepareStatemetn内的SetInt方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信