--- FM2SQL/Attic/DBBean.java 2004/03/23 11:57:06 1.11 +++ FM2SQL/Attic/DBBean.java 2004/04/15 11:13:59 1.15 @@ -15,7 +15,9 @@ import java.sql.*; +import java.text.DateFormat; import java.util.*; + import com.fmi.jdbc.*; /** @@ -569,8 +571,8 @@ public class DBBean // container fields try { - tableRow.addElement(new Integer(resultSet.getInt(i))); - m_columnClasses.addElement(Integer.class); + tableRow.addElement(new Double(resultSet.getDouble(i))); + m_columnClasses.addElement(Double.class); } catch (Exception e) { @@ -588,7 +590,7 @@ public class DBBean if (number.length() > 0) { tableRow.addElement(null); - m_columnClasses.addElement(Integer.class); + m_columnClasses.addElement(Double.class); } else tableRow.addElement(null); } @@ -665,6 +667,19 @@ public class DBBean if (!connection.isClosed()) stm = connection.createStatement(); + else { + + + try + { + connection = getConnection(); + stm= connection.createStatement(); + } catch (Exception e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } stm.setMaxRows(numberOfHits); long time = System.currentTimeMillis(); stm.execute(query); @@ -1255,8 +1270,24 @@ public class DBBean // from FileMaker Pro container fields; the ResultSet.getObject // method returns a java.awt.Image object for FileMaker Pro // container fields + try + { + tableRow.addElement(resultSet.getDate(i)); - tableRow.addElement(resultSet.getDate(i)); + } catch (Exception e) + { + // work around for parse bug in FM JDBC Driver + // for dates of format dd-mm-yyyy + String date=resultSet.getString(i); + date=date.replace('-','.'); + java.text.DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT,Locale.GERMAN); + java.util.Date d= dateFormat.parse(date); + Calendar cal=Calendar.getInstance(Locale.GERMAN); + cal.setTime(d); + date=(cal.get(Calendar.YEAR))+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.DATE); + tableRow.addElement(java.sql.Date.valueOf(date)); + System.out.println(date); + } // m_columnClasses.addElement(java.sql.Date.class); } else if (metaData.getColumnTypeName(i) == "NUMBER") { @@ -1266,7 +1297,7 @@ public class DBBean // container fields try { - tableRow.addElement(new Integer(resultSet.getInt(i))); + tableRow.addElement(new Double(resultSet.getDouble(i))); // m_columnClasses.addElement(Integer.class); } catch (Exception e)