Topic: 在prepareStatement中使用in

  Print this page

1.在prepareStatement中使用in Copy to clipboard
Posted by: 不懂不要乱说话
Posted on: 2004-11-18 14:19

我在java下删除oracle中的数据,在使用in的时候采取了下述方法,请问错在什么地方,能这样用吗,要实现类似的功能如何?其中我想new String()的时候是一个动态的,即,为一个变量参数,如何?请高人指点!
strSQL="DELETE FROM TAB_DESIREMOTOR WHERE DESIREMOTORID IN ( ? )";
ps = conn.prepareStatement(strSQL);
ps.setString(1, new String("1,2"));
count = ps.executeUpdate();

2.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: scud
Posted on: 2004-11-18 15:30

好像不能实现 不过可以 in(?,?,?) 但是实际需求都是不知道有多少个的...比较麻烦

3.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: 不懂不要乱说话
Posted on: 2004-11-18 17:02

找到一个解决办法:


StringBuffer sbSQL = null;
String tmp=new String("14,24,4,5");//可以自己任意的设置!
sbSQL.append("DELETE FROM TAB_DESIREMOTOR WHERE DESIREMOTORID IN (" +tmp+")");

4.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: ecsoftcn
Posted on: 2004-12-16 09:16

这个问题很好,收藏了!

5.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: laohuang
Posted on: 2004-12-27 16:23

楼主自己的解决方案,我没有看懂. 那样就可以做:
ps.setString(1, new String("1,2"));
了吗?

类似的问题, stored procedure 也有这方面的疑问(in 里面不确定多少个参数的情况).
请高手继续指教.

6.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: jigsaw
Posted on: 2004-12-28 00:19

is it a solution (with prepared st)? -___-

7.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: lisy610
Posted on: 2005-02-06 01:52

三楼的你不懂真的不要乱说。
你那种做法,太~~~~~~~~~~

8.Re:在prepareStatement中使用in [Re: 不懂不要乱说话] Copy to clipboard
Posted by: GreenTea
Posted on: 2005-02-24 13:27

楼主在3楼提出的方法的确可以达到目的,但已经无法再利用PreparedStatement的高效特性了.

9.Re:在prepareStatement中使用in [Re: GreenTea] Copy to clipboard
Posted by: kavenlin
Posted on: 2005-02-24 14:20

You can try,
strSQL="DELETE FROM TAB_DESIREMOTOR WHERE DESIREMOTORID IN ( ? )";
ps = conn.prepareStatement(strSQL);
java.util.Vector v=new Vector();
v.addElement(new Int(1));
v.addElement(new Int(2));
ps.setObject(1, v);
count = ps.executeUpdate();

It can use in Informix DB.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923