home *** CD-ROM | disk | FTP | other *** search
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.sql.Timestamp;
- import java.util.Hashtable;
- import java.util.Properties;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class JDPJdbcDirect {
- private String jdbcDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
- private String jdbcPrefix = "jdbc:odbc:";
- private String jdbcSuffix = "";
- private String connectionString = "";
- private String userid = "";
- private String password = "";
- Connection con;
- Statement stmt;
- int maxRows = 1000;
- int timeOut = 60;
- String SEP = "\u0003";
- int numCols;
- int numRows;
- String error = "";
-
- public int execSQL(String var1, Vector var2) {
- this.error = "";
- int var3 = -1;
- String var4 = var1.toUpperCase();
-
- try {
- boolean var5 = this.execute(var1);
- if (var5) {
- ResultSet var6 = this.stmt.getResultSet();
- var3 = this.dispResultSet(var6, var2);
- } else {
- var3 = this.stmt.getUpdateCount();
- if (!var4.startsWith("UPDATE") && !var4.startsWith("INSERT") && !var4.startsWith("DELETE") && !var4.startsWith("SELECT") && var3 < 0) {
- var3 = 0;
- }
- }
-
- this.close();
- } catch (Exception var8) {
- ((Throwable)var8).printStackTrace();
- this.error = ((Throwable)var8).toString();
- }
-
- return var3;
- }
-
- public void close() throws SQLException {
- if (this.stmt != null) {
- this.stmt.close();
- }
-
- }
-
- private boolean execute(String var1) throws Exception {
- if (this.jdbcDriver != null) {
- Class.forName(this.jdbcDriver);
- }
-
- if (this.con == null) {
- String var2 = "UID=" + this.userid + ";";
- var2 = var2 + "PWD=" + this.password + ";";
- var2 = var2 + this.connectionString;
- this.con = this.getConnection(this.jdbcPrefix + this.jdbcSuffix, var2);
- }
-
- this.stmt = this.con.createStatement();
-
- try {
- this.stmt.setMaxRows(this.maxRows);
- } catch (Exception var4) {
- }
-
- try {
- this.stmt.setQueryTimeout(this.timeOut);
- } catch (Exception var3) {
- }
-
- boolean var7 = this.stmt.execute(var1);
- return var7;
- }
-
- public int execute(String var1, Vector var2) {
- this.error = "";
- int var3 = -1;
- String var4 = var1.toUpperCase();
-
- try {
- boolean var5 = this.execute(var1);
- if (var5) {
- ResultSet var6 = this.stmt.getResultSet();
- var3 = this.dispResultSet(var6, var2);
- } else {
- var3 = this.stmt.getUpdateCount();
- if (!var4.startsWith("UPDATE") && !var4.startsWith("INSERT") && !var4.startsWith("DELETE") && !var4.startsWith("SELECT") && var3 < 0) {
- var3 = 0;
- }
- }
- } catch (Exception var8) {
- ((Throwable)var8).printStackTrace();
- this.error = ((Throwable)var8).toString();
- }
-
- return var3;
- }
-
- public int getRowCount() {
- return this.numRows;
- }
-
- public int dispResultSet(ResultSet var1, Vector var2) throws SQLException {
- this.numRows = 0;
- ResultSetMetaData var3 = var1.getMetaData();
-
- try {
- this.numCols = var3.getColumnCount();
-
- for(boolean var4 = var1.next(); var4; var4 = var1.next()) {
- StringBuffer var5 = new StringBuffer();
-
- for(int var6 = 1; var6 <= this.numCols; ++var6) {
- if (var6 > 1) {
- var5.append(this.SEP);
- }
-
- int var8 = var3.getColumnType(var6);
- String var7;
- if (var8 != 1 && var8 != 12 && var8 != -1) {
- if (var8 != 4 && var8 != 5 && var8 != -6 && var8 != -5) {
- if (var8 != 2 && var8 != 8) {
- if (var8 != 93 && var8 != 92 && var8 != 91) {
- var7 = var1.getString(var6);
- } else {
- Timestamp var16 = var1.getTimestamp(var6);
- if (var16 != null) {
- var7 = Long.toString(var1.getTimestamp(var6).getTime());
- } else {
- var7 = "0";
- }
- }
- } else {
- String var9 = var1.getString(var6);
- if (var9 != null) {
- int var10 = var9.indexOf(".");
- if (var10 > 0) {
- double var11 = Double.valueOf(var9.substring(0, var10));
- float var13 = Float.valueOf(var9);
- if ((float)var11 == var13) {
- var7 = var9.substring(0, var9.indexOf("."));
- } else {
- var7 = var9;
- }
- } else {
- var7 = var9;
- }
- } else {
- var7 = "0";
- }
- }
- } else {
- var7 = Integer.toString(var1.getInt(var6));
- }
- } else {
- var7 = var1.getString(var6);
- }
-
- var5.append(var7);
- }
-
- if (this.numCols > 0) {
- ++this.numRows;
- var2.addElement(var5.toString());
- new StringBuffer();
- }
- }
-
- if (var1 != null) {
- var1.close();
- }
- } catch (Exception var15) {
- ((Throwable)var15).printStackTrace();
- }
-
- return this.numRows;
- }
-
- public void setPWD(String var1) {
- if (var1 != null) {
- this.password = var1;
- } else {
- this.password = "";
- }
- }
-
- public String getPWD() {
- return this.password;
- }
-
- public void setJdbcPrefix(String var1) {
- if (var1 != null) {
- this.jdbcPrefix = var1;
- } else {
- this.jdbcPrefix = "";
- }
- }
-
- public String getJdbcPrefix() {
- return this.jdbcPrefix;
- }
-
- public void setMaxRows(int var1) {
- this.maxRows = var1;
- }
-
- public int getMaxRows() {
- return this.maxRows;
- }
-
- public int getColumnCount() {
- return this.numCols;
- }
-
- public void setTimeOut(int var1) {
- this.timeOut = var1;
- }
-
- public int getTimeOut() {
- return this.timeOut;
- }
-
- public void setJdbcDriver(String var1) {
- if (var1 != null) {
- this.jdbcDriver = var1;
- } else {
- this.jdbcDriver = "";
- }
- }
-
- public String getJdbcDriver() {
- return this.jdbcDriver;
- }
-
- public void setCSTR(String var1) {
- if (var1 != null) {
- this.connectionString = var1;
- }
-
- }
-
- private Connection getConnection(String var1, String var2) throws Exception {
- Properties var3 = new Properties();
- StringTokenizer var4 = new StringTokenizer(var2, ";");
- int var5 = var4.countTokens();
-
- for(int var6 = 0; var6 < var5; ++var6) {
- String var7 = var4.nextToken();
- int var8 = var7.indexOf("=");
- if (var8 >= 0) {
- String var9 = var7.substring(0, var8);
- if (var9.equals("UID")) {
- var9 = "user";
- }
-
- if (var9.equals("PWD")) {
- var9 = "password";
- }
-
- if (var8 > 0) {
- ((Hashtable)var3).put(var9, var7.substring(var8 + 1));
- }
- }
- }
-
- System.out.println("Attempting connection to: " + var1);
- Connection var10 = DriverManager.getConnection(var1, var3);
- System.out.println("Opened new connection to: " + var1);
- return var10;
- }
-
- public String getCSTR() {
- return this.connectionString;
- }
-
- public void setUID(String var1) {
- if (var1 != null) {
- this.userid = var1;
- } else {
- this.userid = "";
- }
- }
-
- public String getUID() {
- return this.userid;
- }
-
- public Statement getStatement() {
- return this.stmt;
- }
-
- public String getError() {
- return this.error;
- }
-
- public void setJdbcSuffix(String var1) {
- if (var1 != null) {
- this.jdbcSuffix = var1;
- } else {
- this.jdbcSuffix = "";
- }
- }
-
- public String getJdbcSuffix() {
- return this.jdbcSuffix;
- }
-
- public Connection connect() throws Exception {
- if (this.jdbcDriver != null) {
- Class.forName(this.jdbcDriver);
- }
-
- if (this.con == null) {
- String var1 = "UID=" + this.userid + ";";
- var1 = var1 + "PWD=" + this.password + ";";
- var1 = var1 + this.connectionString;
- this.con = this.getConnection(this.jdbcPrefix + this.jdbcSuffix, var1);
- }
-
- this.stmt = this.con.createStatement();
- return this.con;
- }
- }
-