ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Poitras Christian" <Christian.Poit...@ircm.qc.ca>
Subject RE: Invalid Number
Date Wed, 11 Oct 2006 17:30:11 GMT
A better way would be to pass the parameter as a List (or array) of int
and use the iterate tag (see ibatis doc).

Christian

-----Original Message-----
From: sonusgr [mailto:sonusgr@gmail.com] 
Sent: Wednesday, 11 October 2006 08:44
To: user-java@ibatis.apache.org
Subject: Re: Invalid Number


Thanks for your quick reply. I tried setting the string as
searchVO.setCostComponentIdArrayAsString("\"1234\",\"456\",\"588\"");
so that it would get into the sqlmap as  "1234","456","588"
but no luck. Still getting invalid number.
I also tried hard coding them inside the sqlmap with quotes but still no
luck.
Did I misunderstood something?

Thanks

Larry Meadors-2 wrote:
> 
> 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.
>>
>>
> 
> 

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



Mime
View raw message