Diff for /FM2SQL/Attic/DBBean.java between versions 1.19 and 1.21

version 1.19, 2004/05/11 09:06:38 version 1.21, 2004/06/10 13:19:18
Line 16 Line 16
   
 import java.sql.*;  import java.sql.*;
 import java.text.DateFormat;  import java.text.DateFormat;
   import java.text.ParseException;
 import java.util.*;  import java.util.*;
   
 import com.fmi.jdbc.*;  import com.fmi.jdbc.*;
Line 377  public class DBBean Line 378  public class DBBean
    *   Returns the result for select * from table     *   Returns the result for select * from table
    *   with maxHits = 500 default value     *   with maxHits = 500 default value
    */     */
   public Vector[] getQueryData(String table) throws SQLException    public Vector[] getQueryData(String table) throws SQLException,ParseException
   {    {
   
     return getQueryData("SELECT * from " + quoteChar + table + quoteChar, maxHits);      return getQueryData("SELECT * from " + quoteChar + table + quoteChar, maxHits);
Line 457  public class DBBean Line 458  public class DBBean
    *    Returns the result of the query     *    Returns the result of the query
    *    or an Vector array of Vectors containing error messages     *    or an Vector array of Vectors containing error messages
    */     */
   public Vector[] getQueryData(String query, int maxHits) throws SQLException    public Vector[] getQueryData(String query, int maxHits) throws SQLException, ParseException
   {    {
     long timeStart = System.currentTimeMillis();      long timeStart = System.currentTimeMillis();
     ResultSet resultSet = null;      ResultSet resultSet = null;
Line 586  public class DBBean Line 587  public class DBBean
           // method returns a java.awt.Image object for FileMaker Pro            // method returns a java.awt.Image object for FileMaker Pro
           // container fields            // container fields
   
                       try
                {
           tableRow.addElement(resultSet.getDate(i));            tableRow.addElement(resultSet.getDate(i));
           m_columnClasses.addElement(java.sql.Date.class);  
                } 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(new java.sql.Date(d.getTime()));
                       System.out.println("Date "+date);      
                }
         } else if (metaData.getColumnTypeName(i) == "NUMBER")          } else if (metaData.getColumnTypeName(i) == "NUMBER")
         {          {
           // use the ResultSet.getObject method for retieving images            // use the ResultSet.getObject method for retieving images
Line 1362  public class DBBean Line 1379  public class DBBean
           byte[] b = null;            byte[] b = null;
           if (metaData instanceof ResultSetMetaDataExt)            if (metaData instanceof ResultSetMetaDataExt)
             b = resultSet.getBytes(i);              b = resultSet.getBytes(i);
             if(b!=null)
             {
               java.io.ByteArrayInputStream stream =(java.io.ByteArrayInputStream)resultSet.getBinaryStream(i);
           //    System.out.println(" stream "+resultSet.getBinaryStream(i));
               byte [] c= new byte[stream.available()];
               int length=stream.read(c,0,c.length);
              int count =0;
              b= new byte[c.length];
              for(int n=0;n<length;++n)
              {
                
               if(c[n]!=0) 
               {
            //     System.out.println(c[n]+" "+(int)'?'+" "+(char)c[n]+" "+count+" "+b.length);
                 b[count++]=c[n];
               } 
              }
              byte[] bCopy=new byte[count];
              System.arraycopy(b,0,bCopy,0,count);
          //    System.out.println();
            b=bCopy;
            }
           String utf8 = null;            String utf8 = null;
           utf8 = (b == null) ? null : new String(b);            utf8 = (b == null) ? null : new String(b);
           if (metaData instanceof ResultSetMetaDataExt)            if (metaData instanceof ResultSetMetaDataExt)
             tableRow.addElement((b != null) ? new String(utf8.getBytes()) : null);              tableRow.addElement((b != null) ? Convert.normanToUnicode(utf8) : null);
           else            else
           {            {
             if(url.toLowerCase().indexOf("odbc")>=0)              if(url.toLowerCase().indexOf("odbc")>=0)
Line 1469  public class DBBean Line 1508  public class DBBean
     metaData = (this.result==null) ?null:this.result.getMetaData();      metaData = (this.result==null) ?null:this.result.getMetaData();
     return t;      return t;
     }      }
       
 }  }
   

Removed from v.1.19  
changed lines
  Added in v.1.21


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>