version 1.18, 2004/05/06 11:39:42
|
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 85 public class DBBean
|
Line 86 public class DBBean
|
DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("org.postgresql.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("com.mysql.jdbc.Driver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance()); |
DriverManager.registerDriver((Driver) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance()); |
|
DriverManager.registerDriver((Driver) Class.forName("acs.jdbc.Driver").newInstance()); |
|
|
// wait a maximum of 10 seconds when attempting to establish a connection |
// wait a maximum of 10 seconds when attempting to establish a connection |
DriverManager.setLoginTimeout(10); |
DriverManager.setLoginTimeout(10); |
Line 376 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 456 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 585 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 708 public class DBBean
|
Line 726 public class DBBean
|
long time = System.currentTimeMillis(); |
long time = System.currentTimeMillis(); |
try { |
try { |
stm.execute(query); |
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(); |
long time2 = System.currentTimeMillis(); |
|
|
System.out.println("time to execute "+(time2-time)); |
System.out.println("time to execute "+(time2-time)); |
Line 721 public class DBBean
|
Line 734 public class DBBean
|
result = stm.getResultSet(); |
result = stm.getResultSet(); |
// System.out.println(result+" "+stm.getUpdateCount()); |
// System.out.println(result+" "+stm.getUpdateCount()); |
metaData = result.getMetaData(); |
metaData = result.getMetaData(); |
|
} catch(Exception e) { |
|
// TODO remove |
|
if(FM2SQL.fmInstance!=null) |
|
FM2SQL.showErrorDialog("Error caught!! \n Query was "+query+" \n","Debug Info"); |
|
} |
|
|
return result; |
return result; |
} |
} |
/** |
/** |
Line 1360 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 1467 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; |
} |
} |
|
|
} |
} |
|
|