ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Maves <Nathan.Ma...@Sun.COM>
Subject Re: iBatis Subquery and Date error
Date Thu, 26 Jan 2006 19:46:44 GMT
Yeah after I sent that I saw that it would not work.

What DB are you using?


On Jan 26, 2006, at 10:22 AM, Bondre, Prathit wrote:

> Hi Nathan,
>
> Thanks for your response.
>
> However the #name# and #effDate# do not work in the select  
> statement and my guess is because in a prepared statement you  
> cannot specify a ? in the select.
>
> I have tried this already.
>
> That’s why I had to use the $effDate$ instead and use the statement  
> and remapResults. It worked for the name but not for the date.
>
>
>
>
>
>
>
> From: Nathan.Maves@Sun.COM [mailto:Nathan.Maves@Sun.COM]
> Sent: Thursday, January 26, 2006 11:17 AM
> To: user-java@ibatis.apache.org
> Subject: Re: iBatis Subquery and Date error
>
>
>
> Here are a few things to do that will not solve your problem but  
> will help clean it up.
>
>
>
> 1. Use the <insert> instead of <statement>
>
> 2. Don't specify "remapResults" because you dont have any :)  This  
> option is not available in an <insert> see item #1
>
>
>
> To fix your problem....
>
>
>
> use #name# and #effDate#
>
>
>
> you are also missing the id parameter in the HashMap
>
>
>
>
>
> Stick with java.sql.Date.  Try never to use java.util.Date.
>
>
>
> Nathan
>
>
>
>
>
>
>
>
>
> On Jan 26, 2006, at 9:41 AM, Bondre, Prathit wrote:
>
>
>
>
> I currently have a query defined in my XML as follows
>
>
>
> <statement id=”insertQuery” parameterClass=”java.util.Map”  
> remapResults=”true”>
>
>             Insert into table
>
>             Select
>
>                         Address,
>
>                         City,
>
>                         Zip,
>
>                         $name$ as name,
>
>                         $effDate$ as date
>
>             From
>
>                         Table
>
>             Where
>
>                         Id = #id#
>
> </statement>
>
>
>
> When I call it using the HashMap and set the effDate with  
> java.sql.Date object it throws an exception
>
> That the  value is not compatible with the datatype of the target  
> which is defined in the database as a Date field.
>
> Also based on the documentation I also tried to pass in a  
> java.util.Date instead of the java.sql.Date and it got an error
>
> “An unexpected token was found” and it seemed like it was passing  
> in the String version of the Date field which included the  
> timestamp in the data and it was choking on the : in the timestamp.
>
>
>
> How should I be passing the effDate to this query?
>
>
>
> So far I had
>
> HashMap params = new HashMap();
>
> Params.put(“name”,”Value”)
>
> Params.put (“effDate”,effDate) // effDate is an instance of  
> java.sql.Date . Also tried with java.util.Date.
>
>
>
> What am I doing wrong?
>
>
>
> Any help will be appreciated.
>
>
>
> Thanks,
>
> Prathit Bondre
>
>
>
>
>
>
>
>
>


Mime
View raw message