|
I had to do something similar where I didn't know in advance how many variables would be in the IN clause. How I solved my issue was to not use ? in my prepared statement. For example: String langs = "'" + lang1 + "' , " + "'" + lang2 + "'"; PreparedStatement pstmt = con.prepareStatement("SELECT * FROM ERORPF WHERE ERORLANG IN (" + langs + ")" ); HTH, Sarah On 1/26/06, James O'Sullivan <josulli4@xxxxxxx> wrote: > > > > > Hi All, > I have had a tour around the Net and can't seem to find an > answer/example of this. > > Have a simple SQL statement > SELECT * FROM ERORPF WHERE ERORLANG IN ('E', 'N', 'D') > The contents of the IN predicate can vary from 1 to 10 items, hence my > question. > > I set this in a PreparedStatement > > PreparedStatement pstmt = con.prepareStatement("SELECT * FROM ERORPF WHERE > ERORLANG IN (?)"); > > But when it came to replacing the ? with the required values, I hit my > problem. > I tried (perhaps optimistically) just to see if it would accept parameters > in the following format, but no joy. > > String langs = "'" + lang1 + "' , " + "'" + lang2 + "'"; > setString(1, langs); > > How can you pass a variable amount of values to the IN predicate? > > > regards > > > James O'Sullivan > Senior Technical Consultant > email: josulli4@xxxxxxx > Office: +44 1252 536681 > Fax: +44 1252 534022 > www: www.csc.com > Based at: Tower 2, Floor 2, Royal Pavilion, Wellesley Road, Aldershot, > Hampshire, GU11 1PZ > > CSC Corporation Limited: No. 1812179. > All registered office addresses: Royal Pavilion, Wellesley Road, Aldershot, > Hampshire, GU11 1PZ. Registered in England. > > > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > This is a PRIVATE message. If you are not the intended recipient, please > delete without copying and kindly advise us by e-mail of the mistake in > delivery. NOTE: Regardless of content, this e-mail shall not operate to > bind CSC to any order or other contract unless pursuant to explicit written > agreement or government initiative expressly permitting the use of e-mail > for such purpose. > -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > > -- > This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) > mailing list > To post a message email: JAVA400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/java400-l > or email: JAVA400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/java400-l. > >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.