永发信息网

jdbc 中prepareStatement对sql中的占位符赋值问题

答案:2  悬赏:70  手机版
解决时间 2021-03-17 04:29
比如 比如 select *from table where field in(?) and field2 = ? ; 其中第一个 ? 我想同时赋值两个值 ,类似 in( '12','13') ;怎么实现?
最佳答案
第一个问题: prepareStatement 传递值
prepareStatement.setObject(序号,值)需要依据数据库而定,有得从1开始,有得从 0开始。
Oracle,MySQL从 0 开始。

prepareStatement.setObject(1,12);
prepareStatement.setObject(2,13);

第二个:(?) 表示只有一个参数,等价于select *from table where field=? ,如果in 的范围中有第二个值,你那个SQL就玩不转了。建议你拼写在SQL 中select *from table where field in(12,13....) and field2 = ?
全部回答
jdbc连接preparestatement里的方法setint或者setstring是根据sql语句里设置的,如果和sql语句里的类型没对应执行时,会报错。   1、可以通过调用 connection 对象的 preparedstatement() 方法获取 preparedstatement 对象;   2、preparedstatement 接口是 statement 的子接口,它表示一条预编译过的 sql 语句;   2、preparedstatement 对象所代表的 sql 语句中的参数用问号(?)来表示,   调用 preparedstatement 对象的 setxxx() 方法来设置这些参数. setxxx() 方法有两个参数;   第一个参数是要设置的 sql 语句中的参数的索引(从 1 开始),第二个是设置的 sql 语句中的参数的值。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
重案六组哪部有季洁在山上着到了小孩
河渠村怎么去啊,有知道地址的么
如何利用ionic框架设置底部footer并赋值
外地退休上海户籍老人2017年生活贴
做了个雨棚,玻璃准备用1.9M*1.4M共6块,6+6
电信营业厅怎么安装不了呢
三峡大学就业计算机专业怎样
6.1儿童节的来历
EMS官网查询写 妥投 但是快递怎么还没有来?
绿叶潭生态园在什么地方啊,我要过去处理事情
用4,4,7,8,算出24点
在什么情况下男生会对女生很礼貌,客气
国家规定安全电压是多少伏?
保险金佑人生和鑫盛12客观分析一下。不是自己
QQ水浒李师师怎么样 李师师值得用么
推荐资讯
平安保险有短卡吗保病的短卡一年交多少钱啊
空调冷暖电辅和冷暖型有什么区别
只要一生气或激动就肚子疼
15岁男生,为什么暑假一点都没长高?
天津铸源健康科技集团是合法直销吗?
则汉室之隆可计日而待也而的意思 速 、、、急
房贷利率是浮动的吗?
我是开服装店的,想找个好的成都服装加工厂合
天猫店铺中茶叶和水果是不是同一类目?
韩视觉婚纱摄影这个地址在什么地方,我要处理
长在浅水中的植物是什么花
新车被局部抛光了,会不会跟别的地方光泽度不
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?