iBATIS uses prepared statements for this, so the SQL that is being
executed is like this:

... AND COMPONENT_MOVEMENT_TYPE_ID in ("12,34,56")

That won't work. you need to make the values like this:

... AND COMPONENT_MOVEMENT_TYPE_ID in ("12","34","56")

That means you either use sql injection (err, substitution I mean) like this:

... AND COMPONENT_MOVEMENT_TYPE_ID in ($someValues$)

...or you need to pass in an array or list and search the archives for
"dynamic sql" and "iterate". I'd highly reccomend this approach over
the $other$.

Larry


On 10/10/06, sonusgr <[EMAIL PROTECTED]> wrote:

Hi guys,

I am trying to pass a string of numbers to the my sql statement
but  I am getting SQLException invalid number

The funny thing is that this occurs only when I am passing more than one
number, meaning if that string I am passing
having more than one number.

so in DAO we ve got :
searchVO.setCostComponentIdArrayAsString("1234,456,588");
                        flights = 
this.sqlMap.queryForList("getFlightsbyCriteria", searchVO);


and in sqlMap:
AND COMPONENT_MOVEMENT_TYPE_ID in (#costComponentIdArrayAsString#)

that throws the SQLException

---------

But if I do searchVO.setCostComponentIdArrayAsString("1234");
works fine...

What am I doing wrong here?
could it be a backend error?

thanks guys
--
View this message in context: 
http://www.nabble.com/Invalid-Number-tf2417727.html#a6739736
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Reply via email to