Well, shoot... I think I had a similar kind of issue too. Check out this
site... maybe it can help you. I never did use the suggestions but it
might help. This, again, is using procedures. But maybe you can get
something out of it.

http://vyaskn.tripod.com/passing_arrays_to_stored_procedures.htm


Michael Schutte
Admin Professional
Bob Evans Farms, Inc.
"The Secret's the Sauce! Enjoy our new Bob-B-Q Pulled Pork Knife & Fork
Sandwich!"




Ashish Kulkarni
<kulkarni_ash1312
@yahoo.com> To
Sent by: Java Programming on and around the
java400-l-bounces iSeries / AS400
@midrange.com <java400-l@xxxxxxxxxxxx>
cc

09/13/2007 03:32 Subject
PM Re: SQL question with where in
clause

Please respond to
Java Programming
on and around the
iSeries / AS400
<java400-l@midran
ge.com>






Hi
No the problem i have is, i dont know how many ? to be
added to my SQL statement
select * from mytable where line in (?,?,?)
will work if i know i will have only 3 values to
replace, but the number of lines selected are going to
come from the screen, which can be from 1 t more then
100, so i wanted to make this portion dynamic

Ashish
--- Michael_Schutte@xxxxxxxxxxxx wrote:

I went back at old code... In places where didn't
want to use the place
marker, I used...

cstmt.setNull( ... );

However, I wasn't doing this with a select statement
it was with a
procedure call that populated databases. But this
may be a place to start
looking at.


Michael Schutte
Admin Professional
Bob Evans Farms, Inc.
"The Secret's the Sauce! Enjoy our new Bob-B-Q
Pulled Pork Knife & Fork
Sandwich!"


java400-l-bounces@xxxxxxxxxxxx wrote on 09/13/2007
02:48:26 PM:

Without seeing your code... I believe you are
wanting to do this. Are
you
doing this?

value1 = 'ABC';
value2 = 'XYZ';
value3 = '';
value4 = '';
value5 = '';
value6 = '';
value7 = '';

sqlStatement = "{SELECT * FROM mytable WHERE line
in (?,?,?,?,?,?,?)});
cstmt = conn.prepareCall(sqlStatement);
cstmt.setString(1, value1);
cstmt.setString(2, value2);
cstmt.setString(3, value3);
cstmt.setString(4, value4);
cstmt.setString(5, value5);
cstmt.setString(6, value6);
cstmt.setString(7, value7);

I cannot test this right now, but this is how I
understand to use the "?"
place holders.



Michael Schutte
Admin Professional
Bob Evans Farms, Inc.
"The Secret's the Sauce! Enjoy our new Bob-B-Q
Pulled Pork Knife & Fork
Sandwich!"


java400-l-bounces@xxxxxxxxxxxx wrote on 09/13/2007
02:35:18 PM:

Hi
I have a sql statment like

select * from mytable where line in ('ABC',
'XYZ')

where this SQL statement is going to extact all
rows
where line is ABC and XYZ,

but now the problem is i do not know if there
are
going to be only one line or 2 or 10, so i
thought i
would define the sql as

select * from mytable where line in ?

and then i created a string like ('ABC', 'XYZ')
and
passed it as input parameter, but it does now
work,

Any ideas for a work around this solution


Ashish

A$HI$H







As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.