ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Meadors" <lmead...@apache.org>
Subject Re: Invalid Number
Date Tue, 10 Oct 2006 16:56:24 GMT
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 <sonusgr@gmail.com> 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.
>
>

Mime
View raw message