QA@IT
«回答へ戻る

回答を投稿

gotaroさんの書き込み (2004-05-06 02:46) より:

19行目のprepareStatement()のSQL中の"?"に、複数の値を入れてSELECTをかけたくて

$ java pptest "1,2" #<- "select name, address from addrt where id in (1,2)"としたい

とやってみたのですが、Exceptionが発生してしまいます

 IN句の中身がそれほど数が多くないなら、
下記のような感じでよいのではないでしょうか?



//SQL
ps = con.prepareStatement("select name, address from addrt where id in (?,?)");

//1だけの場合
ps.setString(1, "1");
ps.setString(2, "1");

//2だけの場合
ps.setString(1, "2");
ps.setString(2, "2");

//1と2の場合
ps.setString(1, "1");
ps.setString(2, "2");

投稿者:taku

> gotaroさんの書き込み (2004-05-06 02:46) より:

> 19行目のprepareStatement()のSQL中の"?"に、複数の値を入れてSELECTをかけたくて

> 
> $ java pptest "1,2"   #<- "select name, address from addrt where id in (1,2)"としたい

> 
> とやってみたのですが、Exceptionが発生してしまいます

> 

 IN句の中身がそれほど数が多くないなら、
下記のような感じでよいのではないでしょうか?<img src="/bbs/phpBB/images/smiles/icon_sweat.gif">


~~~


//SQL
ps = con.prepareStatement("select name, address from addrt where id in (?,?)");

//1だけの場合
ps.setString(1, "1");
ps.setString(2, "1");

//2だけの場合
ps.setString(1, "2");
ps.setString(2, "2");

//1と2の場合
ps.setString(1, "1");
ps.setString(2, "2");

~~~




投稿者:taku