I'm having a problem updating table with date field as part of a key.
dbforms-config.xml:
<dbforms-config>
<date-format>yyyy-MM-dd</date-format>
<table name="number"
defaultVisibleFields="id,firstDate" >
<field name="id" fieldType="int" size="10" isKey="true"/>
<field name="firstDate" fieldType="date" size="10" isKey="true"/>
<field name="lastDate" fieldType="date" size="10"/>
</table>
</dbforms-config>
jsp:
<td><db:dateField size="10" fieldName="firstDate"/></td>
<td><db:dateField size="10" fieldName="lastDate"/></td>
When the date format in dbforms-config.xml is yyyy-MM-dd, there is no problem to
update the number table.
MySQL log file is:
UPDATE number SET lastDate= '2100-01-01', firstDate= '1980-01-01' WHERE id = 144 AND
firstDate = '1980-01-01'
dbforms log:
166730 [Thread-5] INFO org.dbforms.util.TimeUtil - parsed 2100-01-01 to Fri Jan 01
00:00:00 EET 2100
166730 [Thread-5] INFO org.dbforms.util.TimeUtil - parsed 1980-01-01 to Tue Jan 01
00:00:00 EET 1980
166740 [Thread-5] INFO org.dbforms.util.TimeUtil - parsed 1980-01-01 to Tue Jan 01
00:00:00 EET 1980
But if I change date format in dbforms-config.xml is dd.MM.yyyy, table won't update
because firstDate in WHERE clause is null.
MySQL log file is:
UPDATE number SET lastDate= '2100-01-01', firstDate= '1980-01-01' WHERE id = 144 AND
firstDate = null
dbforms log:
141483 [Thread-4] INFO org.dbforms.util.TimeUtil - parsed 01.01.2100 to Fri Jan 01
00:00:00 EET 2100
141483 [Thread-4] INFO org.dbforms.util.TimeUtil - parsed 01.01.1980 to Tue Jan 01
00:00:00 EET 1980
(There is no third row)
When the date format in dbforms-config.xml is yyyy-MM-dd and I use SimpleDateFormat
class in jsp, I get a new problem.
FirstDate in WHERE clause is correct, but date values get converted from 01.01.1980 to
2001-06-17 and from 01.01.2100 to 2001-06-17 in SET clause
jsp:
<% SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); %>
<td><db:dateField format="<%= sdf %>" size="10" fieldName="firstDate"/></td>
<td><db:dateField format="<%= sdf %>" size="10" fieldName="lastDate"/></td>
MySQL log file:
UPDATE number SET lastDate= '2001-06-17', firstDate= '2001-06-17' WHERE id = 144 AND
firstDate = '1980-01-01'
dbforms log:
252824 [Thread-4] INFO org.dbforms.util.TimeUtil - parsed 01.01.2100 to Sun Jun 17
00:00:00 EEST 2001
252824 [Thread-4] INFO org.dbforms.util.TimeUtil - parsed 01.01.1980 to Sun Jun 17
00:00:00 EEST 2001
252824 [Thread-4] INFO org.dbforms.util.TimeUtil - parsed 1980-01-01 to Tue Jan 01
00:00:00 EET 1980
Is it not possible to have date as a part of a key (and update that date value)?
Thanks,
Salient
--
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup
CareerBuilder.com has over 400,000 jobs. Be smarter about your job search
http://corp.mail.com/careers
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
DbForms Mailing List
http://www.wap-force.net/dbforms