testbridge.java

来自「java xml开发指南(初学者推荐)Java Xml 编程指南书籍源码」· Java 代码 · 共 65 行

JAVA
65
字号
package MyNa.utils;

import java.sql.*;

/*

  javac TestBridge.java
  java MyNa.utils.TestBridge
  java MyNa.utils.TestBridge phonebook "select * from phonebook"
or even
  java MyNa.utils.TestBridge phonebook "create table testtab..."

and so on; we test a jdbcOdbc connection to the indicated
database, defaulting to PHONEBOOK (which may not exist),
and optionally enter a query. If you want to use this interface
to populate a database file with tables for testing, feel free;
just run it within a batch file and 

*/

public class TestBridge{
  static String driverName="sun.jdbc.odbc.JdbcOdbcDriver";

public static void main(String[] args){
  String dbName=(args.length>0)?args[0]:"PHONEBOOK";
  dbName="jdbc:odbc:"+dbName;
  try {Class.forName(driverName); 
  }catch (Exception E) {
     System.err.println("Unable to load driver "+driverName);
     E.printStackTrace();
  }
  try {
    System.out.println("trying to connect to "+dbName);
    Connection C = DriverManager.getConnection(dbName);
    DatabaseMetaData dbmd=C.getMetaData();
    ResultSet RS = dbmd.getTables(null,null,null,null);
    String[][]A=MiscDB.resultRowsToStringMatrix(RS);
    for(int i=0;i<A.length;i++)
      System.out.println(Misc.stringArrayJoin(A[i],",\t"));

    if(args.length>=2){
      Statement S = C.createStatement(); 
      String Q=args[1];
      System.out.println("Query = ["+Q+"]");
      boolean hasRS=S.execute(Q);
      System.out.println("did Query, hasResultSet="+hasRS);
      if(hasRS){
        RS=S.getResultSet();
        A=MiscDB.resultRowsToStringMatrix(RS);
        for(int i=0;i<A.length;i++)
          System.out.println( Misc.stringArrayJoin(A[i],",\t"));
      }else System.out.println("changed "+S.getUpdateCount()+" rows");
      S.close();              
    }
    C.close(); 
  }catch (SQLException E) {
    System.out.println("SQLException: " + E.getMessage());
    System.out.println("SQLState:     " + E.getSQLState());
    System.out.println("VendorError:  " + E.getErrorCode());
  }

}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?