Preparestatement with IN-operator

Hi,
I cannot make the IN-operator work with a PreparedStatement.
CREATE TABLE a_table(a_column VARCHAR2(10));
INSERT INTO a_table VALUES('foo');
INSERT INTO a_table VALUES('bar');
String sql = "SELECT * from a_table where a_column IN (?)";
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1,"foo,bar");
ResultSet rs = pst.executeQuery();
while(rs.next())
  System.out.println(rs.getString(1));The above code will not return any rows if you pass in a bindvariable with a comma-sign, if you pass in just one value it works?
Does anybody know why?
I'm using Oracle9i as my rdms.
Regards
Magnus

You have to create list dynamically, because you can only set one parameter at a time, and each item in an "IN" list is its own parameter.
String[] values = { "foo", "bar" };
String sql = "SELECT * from a_table where a_column IN (";
int i = 0;
while (i++ < values.length) {
  sql += "?, ";
sql = sql.substring(0, sql.length() - 2) + ")";
PreparedStatement pst = connection.prepareStatement(sql);
i = 0;
while (i < values.length) {
    pst.setString(i, values[i++]);
}

Similar Messages

  • Firefox prompted me to download an incompatible update that its website claims is compatible with my operating system (Mac OS 10.4.11). Why prompt an incompatible download AND claim it is compatible?

    I have an iMac and use OS 10.4.11 & Firefox 3.6.19. Firefox prompted me to download an update (to 7.0.1). I looked up the system requirements on your website, and it stated the update is compatible with OS 10.4.11. But after I downloaded and installed the update, it failed to work on grounds of incompatibility. Hence 2 questions: (1) Why did Firefox prompt me to download an incompatible update? (2) Why did your website claim the update is compatible with my operating system when it is not?

    Sorry, it's because Firefox 4+ are only compiled for the Intel processors.
    There is a separate project for PPC Macs called Ten Four Fox. You might give it a spin when you're tired of 3.6.
    http://www.floodgap.com/software/tenfourfox/

  • How do I access "Firefox is NOT compatible with this application. For best performance, please use Internet Explorer 5.0 and above...." web sites; when I try to download any alternate browser, then a warning that alternate is "imcompatable with your opera

    How do I access websites that warn: "Firefox is NOT compatible with this application. For best performance, please use Internet Explorer 5.0 and above...."? When I try to download any alternate browser, all I get is another warning that the alternate is "not compatible with your operating system." Is Firefox preventing this? The site listed below is a job application site. I've had this same problem with other job application sites also.
    == URL of affected sites ==
    https://storefront.kenexa.com/lithia/cc/Home.ss

    There should be a User Agent Switcher menu item under Tools, which gives you the browser names you can impersonate.
    The menu item name changes to the browser UA you are presently using.
    There is also a User Agent Switcher button, you can add it using View -> Toolbars -> Customize, and dragging the button to your toolbar.
    See http://chrispederick.com/work/user-agent-switcher/features/ and http://chrispederick.com/work/user-agent-switcher/help/
    You can just start trying IE versions (or the versions it says on the site) until it lets you in.

  • How to use tree tables with CRUD operation for begineers ADF 11g

    This is Friday night call for help.
    This is only few sample ressources on the web for tree table and only one with CRUD operation.
    I used this one http://jobinesh.blogspot.com/2010/05/crud-operations-on-tree-table.html because this is the only one that address CRUD.
    And it is shaky. Deletion works fine but insertion not very well. This is working using custom code provided below.
    Depending if the user selection in the tree, the code insert from the master node to the children node.
    Any other options because it is not working well.
    Also where Oracle describes how to use the row, rowset, itorator API? This is really hard to understand like almost if we should not use it.
    then if not how can I insert in tree with two nodes and insert in the parent or children depending the users selection.
    Lately I 'been posting questions on this forum with no response. This hurts. I understand developers cannot spend their time on this but People from Oracle, please help. We pay licenses...
    public void createChildren(RowIterator ri, Key selectedNodeKey) {
    final String deptViewDefName = "model.DepartmentsView";
    final String empViewDefName = "model.EmployeesView";
    if (ri != null && selectedNodeKey != null) {
    Row last = ri.last();
    Key lastRowKey = last.getKey();
    // if the select row is not the last row in the row iterator...
    Row[] found = ri.findByKey(selectedNodeKey, 1);
    if (found != null && found.length == 1) {
    Row foundRow = found[0];
    String nodeDefname =
    foundRow.getStructureDef().getDefFullName();
    if (nodeDefname.equals(deptViewDefName)) {
    RowSet parents =
    (RowSet)foundRow.getAttribute("EmployeesView");
    Row childrow = parents.createRow();
    parents.insertRow(childrow);
    } else {
    RowSet parents =
    (RowSet)foundRow.getAttribute("EmployeesView");
    Row childrow = parents.createRow();
    childrow.setAttribute("DepartmentId",
    foundRow.getAttribute("DepartmentId"));
    parents.insertRow(childrow);
    } else {
    System.out.println("Node not Found for " + selectedNodeKey);
    }

    I am looking for a sample that describe how to design a jsf page with a tree table.
    So you have Department and employees. In the tree first comes Department and if you click the node you see the employees assigned to this department.
    I need to be able to insert a new department or a new employee from the tree table by clicking on a insert button in the panel collection toolbar depending on user selection in the tree.
    I got part of it working but not good enough.
    By problem is the get insertion working
    I have a createChildren method in my AM implementation that get in input a RowIterator and selected node key.
    To goal is to create new records depending of the user selection and the input parameters get populated by the binding like this:
    #{backing_treeSampleBean.selectedNodeRowIterator} #{backing_TreeSampleBean.selectedNodeRowkey} via method binding with parameters.
    Is it the right approach?
    First to be able to insert a parent record, I select nothing in the tree and ri and selectedNodeKey comes to null
    we run this code
    ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
    //ViewObjectImpl vo = getDepartmentsView1();
    Row foundRow = vo.first();
    Row childrow = vo.createRow();
    vo.insertRow(childrow);
    A new blank entry appears in the parent node and we enter a value.
    The the problem starts when we want to add a child to this parent.
    We select the created parent and press the insert button, this code get executed
    if (nodeDefname.equals(deptViewDefName))
    //list of the children of the parent and create an new row
    RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
    Row childrow = childRows.createRow();
    childRows.insertRow(childrow);
    But the new entry does not appear, it is almost like it would be created for a different parent because this is a mandatory field that is not feel in yet and the interface complaints of a missing value. It is created somewhere just not a the right place... This is my guess.
    Do you see something wrong with the code?
    The full code og my create children method is there below
    I am using jdeveloper 11.1.1.3.0 any issues with tree table to know about with this version?
    Thanks for your help
    public void createChildren(RowIterator ri, Key selectedNodeKey) {
    final String deptViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidaySchedExceptionsView";
    final String empViewDefName = "com.bcferries.app.pdfroutesched.model.SchHolidayExceptionDatesView";
    if (ri != null && selectedNodeKey != null) {
    // last row
    Row last = ri.last();
    Key lastRowKey = last.getKey();
    // if the select row is not the last row in the row iterator...
    Row[] found = ri.findByKey(selectedNodeKey, 1);
    if (found != null && found.length == 1) {
    // foundRow is the row selected
    Row foundRow = found[0];
    // The row selected can be the parent node or the child node
    String nodeDefname = foundRow.getStructureDef().getDefFullName();
    // if parent row
    if (nodeDefname.equals(deptViewDefName))
    //list of the children of the parent and create an new row
    //works but we try to resolve the creation of a parent
    RowSet childRows = (RowSet)foundRow.getAttribute("SchHolidayExceptionDatesView");
    Row childrow = childRows.createRow();
    //childrow.setAttribute("HolidayDate", new java.util.Date().getDate());
    System.out.println("insert child row from master");
    childRows.insertRow(childrow);
    } else
    //RowSet ParentRow = (RowSet)foundRow.getAttribute("SchHolidaySchedExceptionsView");
    //RowSet childRows = (RowSet)ParentRow.first().getAttribute("SchHolidayExceptionDatesView");
    Row childrow = ri.createRow();
    System.out.println("insert child row from child ");
    } else {
    System.out.println("Node not Found for " + selectedNodeKey);
    } else {
    System.out.println(" param null try creating for first row : " +
    ri + " * " + selectedNodeKey);
    ViewObjectImpl vo = getSchHolidaySchedExceptionsView1();
    Row foundRow = vo.first();
    Row childrow = vo.createRow();
    vo.insertRow(childrow);
    }

  • Problem with multiple sub-panels through Enum case structure: "The VI is not in a state compatible with this operation"

    Hello,
    I am using LabVIEW 8.0 and I am attempting to create a sub-panel that displays the front panel of a sub-vi depending on the selection made by the user via the Enum dropdown menu.  I have wired the Enum to a case structure and applied identical coding to each individual case structure except for obviously changing the sub-vi source.  However, I receive an error "The VI is not in a state compatible with this operation."  I was able to successfully make a single sub-vi work within a sub-panel using a true/false case structure and the exact same coding.  However, now that I am using an Enum box wired to a case structure, I receive this error.  I have attached my block diagram as well.  Could anyone assist me as to where it is that I am going wrong?
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    enum subpanels.JPG ‏22 KB

    torm wrote:
    I have attached my block diagram as well
    I only see a picture. Can you attach the VI instead? At what point do you close the reference?
    torm wrote:
    I have wired the Enum to a case structure and applied identical coding to each individual case structure except for obviously changing the sub-vi source.
    Well, if the code is identical except for the source, only the source should be inside the case, right? Why duplicate code?
    LabVIEW Champion . Do more with less code and in less time .

  • I am running Mac OS X 10.5.8 and I cannot download Firefox 4 because it says it is incompatible with my operating system, although supposedly it is compatible with OS X 10.5

    I would like to download Firefox 4. I get an error message during download saying it is incompatible with my operating system and that it needs OS X 10.5 or 10.6 but I AM using 10.5.8, so what might be the problem?

    Firefox 4 requires at least OS X 10.5 and an Intel Mac. There is a third party version of Firefox 4 that runs on OS X 10.4/10.5 and PPC Macs, for details see http://www.floodgap.com/software/tenfourfox
    If you prefer, you can get the latest version of Firefox 3.6 from http://www.mozilla.com/en-US/firefox/all-older.html

  • Why does it say that the updated version of Firefox (which I am trying to download) is not compatible with my operating system when I have Mac OS X 10.5.8?

    Why does it say that the updated version of Firefox (which I am trying to download) is not compatible with my operating system when I have Mac OS X 10.5.8? I had an older version of Firefox and it said I needed to update it but that was the message that appeared.

    Sorry, it's because Firefox 4+ are only compiled for the Intel processors.
    There is a separate project for PPC Macs called Ten Four Fox. You might give it a spin when you're tired of 3.6.
    http://www.floodgap.com/software/tenfourfox/

  • Receiving Error : Please set the Receivables system options for this operating unit and ensure that the MO: Operating Unit profile option is correctly set with an operating unit that is set up in Receivables. while trying to create a new Customer.

    Hi All,
    We have set up a new Operating Unit in Oracle Apps. Now when I am trying to create a new Customer in that Operating Unit, I am receiving following error:
    ERROR MESSAGE:-Please set the Receivables system options for this operating unit and ensure that the MO: Operating Unit profile option is correctly set with an operating unit that is set up in Receivables.
    We do have MO: Operating Unit and MO: Default Operating Unit set properly at Responsibility level for the Responsibility through which I am accessing this form.
    Your help is appreciated!
    Thanks in advance,
    SKA

    You can refer this thread and check your MO operating unit is set or not https://community.oracle.com/message/3937028 thanks

  • Null pointer Exception with removeRowWithKey operation

    Hii experts,,,
    I am using JDevelepor 11.1.2.1.0 Version
    I Am new in ADF ,
    In My sample application i select row in iterator by findIterator() method
    then get the specified row by getCurrentRow();
    then i get the rowKey By row.getKey() method..
    I put rowKey as parameter to removeRowWithKey operation
    I have get null pointer Exception with removeRowWithKey operation
    java.lang.NullPointerException
         at oracle.jbo.server.ViewRowSetImpl.prepKeyForFind(ViewRowSetImpl.java:5352)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5394)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5296)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5290)
         at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:11536)
         at oracle.adf.model.binding.DCIteratorBinding.removeRowWithKey(DCIteratorBinding.java:3748)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1598)
    how can solve this???

    thanks Timo
    through this URL i get possible deletion methods...
    pls give more Information about the concept of removeRowWithKey, setCurrentRowWithKey, setCurrentRowWithKeyValue operation.... Just For Knowledge....
    Edited by: NZL on Mar 2, 2012 9:37 AM
    Edited by: NZL on Mar 2, 2012 9:42 AM

  • Mapping in Services Interface with multiple operation... ?

    Hi ALL,
    I have a SOAP to SOAP scenario here Just PI 7.1 with EHP1 acting a bus no mapping nothing .
    1) I have the WSDL file from the receiver system with multiple synchronous operations  in it ..i imported the wsdl as External Definition .. i used the same the WSDL file to create the sender Service interface also...
    when i created the service interface with the operation in it , i just gave the same operation name from the WSDL.this i followed for the sender and receiver service interface.
    1)now the issue is do i need any operation mapping if the service interface has more than one operation ...?
    2) I compelted the scenario without any operation mapping ..but i am getting this error ..Problem occurred in receiver agreement for sender -ICRM_D to receiver -EXACTTGETWEBSERVICE_D,http://ICRMtoExactTaetWebservice.com.si_os_ICRM_EXACTTETWEBSERVICE: No standard agreement found for , ICRM_D, , EXACTTARGEBSERVICE_D, http://ICRMtoExactarebservice.com, si_os_ICRM_EXACGETWEBSERVICE..?
    pls help me in this issue..
    Thanks
    Souz

    you might want to read this /people/shabarish.vijayakumar/blog/2010/09/08/service-interface-and-multiple-operations--is-it-just-an-hype
    you will need to create additional configurations for multiple operations to be supported

  • Mapping with Scd operator set to type 2 reading source records two times

    Mapping with Scd operator set to type 2 reading source records two times.Records selected count being displayed at the end of execution is double the source record count.This possibly is affecting the performance of the mapping.
    Is this a bug in scd type 2 operagtor in OWB 11gR2.How to rectify this umwamted double loop through the source data selectiom?

    Hi Roelant,
    I think it is important to be aware that although Paris - 10gR2 - is not actually buggy (in this respect!), it is really quite idiosyncratic in exactly how it processes SCDs.
    I followed up on your and Mark's comments, and did an in depth analysis of this topic. It is at http://www.donnapkelly.pwp.blueyonder.co.uk/documents/OWB_10gR2_SCD.pdf
    My conclusions are perhaps of interest to anyone considering doing SCD processing with Paris.
    I'll be doing a follow-up this weekend, and publishing a sort of 'how-to-do-it' guide.
    Cheers,
    Donna
    Message was edited to add the words: "in this respect"

  • Need  file adapter polling with read operation to be triggered by a BPEL without using synchronous read

    The scenario is:-
    Web Service Client -->input-->BPEL-->if input valid-->trigger file adapter with read operation--> receive file
    i am not able to stop the polling until it is required to trigger the polling.
    As soon as i deploy the composite the file adapter starts polling without waiting for input.
    Since i am using two receive activities, the second one which is suppose to receive file from file adapter is always showing pending state. (asynchronous callback)

    Hi there,
    IMHO the traditional read is used only as inbound operation, that means
    that it starts polling the input folder as soon as the composite gets
    deployed - which is the same you are experiencing.
    In your case you need an outbound operation that needs to be invoked at
    a certain moment. I don't know what are the reasons not to use sync
    read, but this is the only outbound read operation supported by the
    adapter. If you can not use the sync read, then you would have to design
    some custom solution where you call a web service or EJB for instance
    that reads the desired files.
    Another option I can think of, though have not use personally is using
    the adapters programatically in Java - take a look at this blog post as
    it seems related to this topic -
    https://technology.amis.nl/2012/01/22/using-the-oracle-weblogic-technology-adapters-with-custom-java-message-driven-bean-mdb-triggered-by-file-adapter-part-of-the-story/.
    Hope this helps,
    A.

  • How do I delete a number of duplicate tunes with one operation?

    How do I delete a number of duplicate tunes with one operation?

    See here: https://discussions.apple.com/thread/3293239?start=0&tstart=0
    B-rock

  • One file maximum for uploads with Safari, Opera, FireFox and Chrome to OneDive

    Some Windows 7 users have complained to they can only mark one file maximum for uploading with Safari, Opera, FireFox and Chrome to OneDive

    Hi,
    You mean that you access OneDrive via web browser?
    From my tests, everything is normal and it seems there is no setting in browser to configure this number.
    if I misunderstand this issue, please give us more information on it.
    Alex Zhao
    TechNet Community Support

  • When legally ipad2 with 3G would be available in Thailand?  Can I buy it from US and use it with 3G operator in Thailand?

    When legally ipad2 with 3G would be available in Thailand?  Can I buy it from US and use it with 3G operator in Thailand?

    The iPad 2 is available in Thailand now, though I don't know whether you can find one it stock. The iPad 2 continues to be in short supply everywhere in the world. A US iPad with GSM 3G should be able to work with any carrier worldwide that offers GSM service and a suitable data plan. You'll need to be sure you purchase the AT&T version of the iPad if you purchase in the US, NOT the Verizon version which uses a different cell technology.
    This has been asked and answered in these forums multiple times already, by the way. A quick search or browse of the forums and you would not have had to wait for a response.
    Regards.

Maybe you are looking for

  • Do not include some lines in Subtotals and totals in ALV

    Hello All, I am printing a report with all sale order details and Quantities( delveered ,conformed etc..) iam doing subtotals based on the material and Plant. In this if the document date is less than the SY-DATUM, we should not include the quantity

  • How do you setup an automatic archive?

    Before I got my TC my plan was to attach a 1TB USB drive and to create a mirror backup. I've used SuperDuper for years and thought I'd just use that, but they don't seem to support backing up network drive. I wanted to use that because you can do sma

  • Using the Oracle Driver on the portal box

    I wrote a server API application that uses the DataDirect oracle driver (as I didn't want to install the whole (*#$$*$ oracle client install on my portal box) but cleverly, it pops up a warning saying it should only be used for the portal. Is there s

  • How to completely get rid of the "Others" space on the Iphone4s? (It's taking away 2 gigs of space)

    I just want to get rid of the "Other" space on the Iphone and that's all. Any suggestion or even maybe apple themeselve could finally help for once :/

  • Extension Manager, wrong Language?

    Hello, I bought the english version of Dreamweaver CS4 yesterday in the german Adobe Shop. After Installation = DW is english Bridge is english Device central is english Extend Script toolkit is german Extension Manager is german Then I tried to inst