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

Reply via email to