--- FM2SQL/Attic/DBBean.java 2004/04/08 09:48:47 1.14 +++ FM2SQL/Attic/DBBean.java 2004/04/30 10:56:06 1.17 @@ -15,7 +15,9 @@ import java.sql.*; +import java.text.DateFormat; import java.util.*; + import com.fmi.jdbc.*; /** @@ -680,7 +682,13 @@ public class DBBean } stm.setMaxRows(numberOfHits); long time = System.currentTimeMillis(); + try { stm.execute(query); + } catch(Exception e) { + // TODO remove + if(FM2SQL.fmInstance!=null) + FM2SQL.showErrorDialog("Error caught!! \n Query was "+query+" \n","Debug Info"); + } long time2 = System.currentTimeMillis(); System.out.println("time to execute "+(time2-time)); @@ -1274,9 +1282,17 @@ public class DBBean } catch (Exception e) { + // work around for parse bug in FM JDBC Driver + // for dates of format dd-mm-yyyy String date=resultSet.getString(i); - tableRow.addElement(date); - System.out.println(date); + 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(new java.sql.Date(d.getTime())); + System.out.println("Date "+date); } // m_columnClasses.addElement(java.sql.Date.class); } else if (metaData.getColumnTypeName(i) == "NUMBER") @@ -1326,6 +1342,12 @@ public class DBBean tableRow.addElement((b != null) ? new String(utf8.getBytes()) : null); else { + if(url.toLowerCase().indexOf("odbc")>=0) + { + byte[] val = resultSet.getBytes(i); + tableRow.addElement((val==null) ? null:new String(val,"UTF-8")); + + } else // byte[] val = resultSet.getBytes(i); tableRow.add(resultSet.getString(i)); //tableRow.addElement((val==null) ? null:new String(val,"UTF-8"));