--- FM2SQL/Attic/DBBean.java 2004/06/01 18:58:08 1.20 +++ FM2SQL/Attic/DBBean.java 2004/06/22 10:33:53 1.24 @@ -66,6 +66,7 @@ import com.fmi.jdbc.*; */ public class DBBean { + private boolean useNormanToUnicodeMapper=false; Connection connection; String url = ""; DatabaseMetaData dbMetaData; @@ -189,11 +190,11 @@ public class DBBean { // setup the properties java.util.Properties prop = new java.util.Properties(); - prop.put("charSet", "Cp1256"); + // prop.put("charSet", "MacCentralEurope"); prop.put("user", user); prop.put("password", passwd); System.out.println("url "+url); - if(url.indexOf("odbc")>=0) + if(url.indexOf("fmpro")>=0) { // Connect to the database connection = DriverManager.getConnection(url, prop); @@ -1379,10 +1380,42 @@ public class DBBean byte[] b = null; if (metaData instanceof ResultSetMetaDataExt) 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); + b = bCopy; + }*/ String utf8 = null; utf8 = (b == null) ? null : new String(b); if (metaData instanceof ResultSetMetaDataExt) - tableRow.addElement((b != null) ? new String(utf8.getBytes()) : null); + { + String rowElement = ""; + if (b != null) + { + rowElement = resultSet.getString(i); + if(useNormanToUnicodeMapper) + rowElement = Convert.normanToUnicode(rowElement); + tableRow.addElement(rowElement); + + } else + tableRow.addElement(null); + } else { if(url.toLowerCase().indexOf("odbc")>=0) @@ -1399,7 +1432,7 @@ public class DBBean } } catch (Exception e) { - System.out.println("Hey I Got an error" + e); + System.out.println("Hey I got an error" + e); e.printStackTrace(); } // m_columnClasses.addElement(java.lang.String.class); @@ -1486,5 +1519,20 @@ public class DBBean metaData = (this.result==null) ?null:this.result.getMetaData(); return t; } - + /** + * @return + */ + public boolean isUseNormanToUnicodeMapper() + { + return useNormanToUnicodeMapper; + } + + /** + * @param b + */ + public void setUseNormanToUnicodeMapper(boolean b) + { + useNormanToUnicodeMapper = b; + } + } \ No newline at end of file