亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? databaseutilities.java

?? this is project for java lib system
?? JAVA
字號:
package sjservlets;

import java.sql.*;

/** Three database utilities:<BR>
 *   1) getQueryResults. Connects to a database, executes
 *      a query, retrieves all the rows as arrays
 *      of strings, and puts them inside a DBResults
 *      object. Also places the database product name,
 *      database version, and the names of all the columns
 *      into the DBResults object. This has two versions:
 *      one that makes a new connection and another that
 *      uses an existing connection. <P>
 *   2) createTable. Given a table name, a string denoting
 *      the column formats, and an array of strings denoting
 *      the row values, this method connects to a database,
 *      removes any existing versions of the designated
 *      table, issues a CREATE TABLE command with the
 *      designated format, then sends a series of INSERT INTO
 *      commands for each of the rows. Again, there are
 *      two versions: one that makes a new connection and
 *      another that uses an existing connection. <P>
 *   3) printTable. Given a table name, this connects to
 *      the specified database, retrieves all the rows,
 *      and prints them on the standard output.
 *
 *  &copy; 2002 Song Jing; may be freely used or adapted.
 */

public class DatabaseUtilities {
  
  /** Connect to database, execute specified query,
   *  and accumulate results into DBRresults object.
   *  If the database connection is left open (use the
   *  close argument to specify), you can retrieve the
   *  connection with DBResults.getConnection.
   */

	public static ResultSet getQueryResultSet(String driver,
                                          String url,
                                          String username,
                                          String password,
                                          String query,
                                          boolean close) {
    try {
      Class.forName(driver);
      Connection connection =
        DriverManager.getConnection(url, username, password);
      return(getQueryResultSet(connection, query, close));
    } catch(ClassNotFoundException cnfe) {
      System.err.println("Error loading driver: " + cnfe);
      return(null);
    } catch(SQLException sqle) {
      System.err.println("Error connecting: " + sqle);
      return(null);
    }
  }
  
    public static ResultSet getQueryResultSet(Connection connection,
                                          String query,
                                          boolean close) {
    try {
      Statement statement = connection.createStatement();
      ResultSet resultSet = statement.executeQuery(query);
      if (close) {
        connection.close();
      }
      return(resultSet);
    } catch(SQLException sqle) {
      System.err.println("Error connecting: " + sqle);
      return(null);
    } 
  }

  
  public static DBResults getQueryResults(String driver,
                                          String url,
                                          String username,
                                          String password,
                                          String query,
                                          boolean close) {
    try {
      Class.forName(driver);
      Connection connection =
        DriverManager.getConnection(url, username, password);
      return(getQueryResults(connection, query, close));
    } catch(ClassNotFoundException cnfe) {
      System.err.println("Error loading driver: " + cnfe);
      return(null);
    } catch(SQLException sqle) {
      System.err.println("Error connecting: " + sqle);
      return(null);
    }
  }

  /** Retrieves results as in previous method but uses
   *  an existing connection instead of opening a new one.
   */
  
  public static DBResults getQueryResults(Connection connection,
                                          String query,
                                          boolean close) {
    try {
      DatabaseMetaData dbMetaData = connection.getMetaData();
      String productName =
        dbMetaData.getDatabaseProductName();
      String productVersion =
        dbMetaData.getDatabaseProductVersion();
      Statement statement = connection.createStatement();
      ResultSet resultSet = statement.executeQuery(query);
      ResultSetMetaData resultsMetaData =
        resultSet.getMetaData();
      int columnCount = resultsMetaData.getColumnCount();
      String[] columnNames = new String[columnCount];
      // Column index starts at 1 (a la SQL) not 0 (a la Java).
      for(int i=1; i<columnCount+1; i++) {
        columnNames[i-1] =
          resultsMetaData.getColumnName(i).trim();
      }
      DBResults dbResults =
        new DBResults(connection, productName, productVersion,
                      columnCount, columnNames);      
      while(resultSet.next()) {
        String[] row = new String[columnCount];
        // Again, ResultSet index starts at 1, not 0.
        for(int i=1; i<columnCount+1; i++) {
          String entry = resultSet.getString(i);
          if (entry != null) {
            entry = entry.trim();
          }
          row[i-1] = entry;
        }
        dbResults.addRow(row);
      }
      if (close) {
        connection.close();
      }
      return(dbResults);
    } catch(SQLException sqle) {
      System.err.println("Error connecting: " + sqle);
      return(null);
    } 
  }

  /** Build a table with the specified format and rows. */
  
  public static Connection createTable(String driver,
                                       String url,
                                       String username,
                                       String password,
                                       String tableName,
                                       String tableFormat,
                                       String[] tableRows,
                                       boolean close) {
    try {
      Class.forName(driver);
      Connection connection =
        DriverManager.getConnection(url, username, password);
      return(createTable(connection, username, password,
                         tableName, tableFormat,
                         tableRows, close));
    } catch(ClassNotFoundException cnfe) {
      System.err.println("Error loading driver: " + cnfe);
      return(null);
    } catch(SQLException sqle) {
      System.err.println("Error connecting: " + sqle);
      return(null);
    } 
  }

  /** Like the previous method, but uses existing connection. */
  
  public static Connection createTable(Connection connection,
                                       String username,
                                       String password,
                                       String tableName,
                                       String tableFormat,
                                       String[] tableRows,
                                       boolean close) {
    try {
      
      Statement statement = connection.createStatement();
      // Drop previous table if it exists, but don't get
      // error if it doesn't. Thus the separate try/catch here.
      try {
        statement.execute("DROP TABLE " + tableName);
      } catch(SQLException sqle) {}
      String createCommand =
        "CREATE TABLE " + tableName + " " + tableFormat;
      statement.execute(createCommand);
      String insertPrefix =
        "INSERT INTO " + tableName + " VALUES";
      for(int i=0; i<tableRows.length; i++) {
        statement.execute(insertPrefix + tableRows[i]);
      }
      if (close) {
        connection.close();
        return(null);
      } else {
        return(connection);
      }
    } catch(SQLException sqle) {
      System.err.println("Error creating table: " + sqle);
      return(null);
    } 
  }

  public static void printTable(String driver,
                                String url,
                                String username,
                                String password,
                                String tableName,
                                int entryWidth,
                                boolean close) {
    String query = "SELECT * FROM " + tableName;
    DBResults results =
      getQueryResults(driver, url, username,
                      password, query, close);
    printTableData(tableName, results, entryWidth, true);
  }

  /** Prints out all entries in a table. Each entry will
   *  be printed in a column that is entryWidth characters
   *  wide, so be sure to provide a value at least as big
   *  as the widest result.
   */

  public static void printTable(Connection connection,
                                String tableName,
                                int entryWidth,
                                boolean close) {
    String query = "SELECT * FROM " + tableName;
    DBResults results =
      getQueryResults(connection, query, close);
    printTableData(tableName, results, entryWidth, true);
  }

  public static void printTableData(String tableName,
                                    DBResults results,
                                    int entryWidth,
                                    boolean printMetaData) {
    if (results == null) {
      return;
    }
    if (printMetaData) {
      System.out.println("Database: " +
                         results.getProductName());
      System.out.println("Version: " +
                         results.getProductVersion());
      System.out.println();
    }
    System.out.println(tableName + ":");
    String underline =
      padString("", tableName.length()+1, "=");        
    System.out.println(underline);
    int columnCount = results.getColumnCount();
    String separator =
      makeSeparator(entryWidth, columnCount);
    System.out.println(separator);
    String row = makeRow(results.getColumnNames(), entryWidth);
    System.out.println(row);
    System.out.println(separator);
    int rowCount = results.getRowCount();
    for(int i=0; i<rowCount; i++) {
      row = makeRow(results.getRow(i), entryWidth);
      System.out.println(row);
    }
    System.out.println(separator);
  }
  
  // A String of the form "|  xxx |  xxx |  xxx |"

  private static String makeRow(String[] entries,
                                int entryWidth) {
    String row = "|";
    for(int i=0; i<entries.length; i++) {
      row = row + padString(entries[i], entryWidth, " ");
      row = row + " |";
    }
    return(row);
  }
    
  // A String of the form "+------+------+------+"
  
  private static String makeSeparator(int entryWidth,
                                      int columnCount) {
    String entry = padString("", entryWidth+1, "-");
    String separator = "+";
    for(int i=0; i<columnCount; i++) {
      separator = separator + entry + "+";
    }
    return(separator);
  }

  private static String padString(String orig, int size,
                                  String padChar) {
    if (orig == null) {
      orig = "<null>";
    }
    // Use StringBuffer, not just repeated String concatenation
    // to avoid creating too many temporary Strings.
    StringBuffer buffer = new StringBuffer("");
    int extraChars = size - orig.length();
    for(int i=0; i<extraChars; i++) {
      buffer.append(padChar);
    }
    buffer.append(orig);
    return(buffer.toString());
  }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
94色蜜桃网一区二区三区| 日韩无一区二区| 欧美性色aⅴ视频一区日韩精品| av在线播放一区二区三区| 97超碰欧美中文字幕| 东方欧美亚洲色图在线| 成人网页在线观看| 亚洲精品在线电影| 欧美成人vps| 日韩美女视频一区二区 | 国产传媒欧美日韩成人| 奇米精品一区二区三区在线观看一| 久久99最新地址| 国产精品白丝av| 91福利视频网站| 久久久99免费| 亚洲va天堂va国产va久| 婷婷开心激情综合| 欧美变态凌虐bdsm| 亚洲国产视频在线| 日韩精品一级二级 | 欧美自拍偷拍一区| 777午夜精品视频在线播放| 中文字幕高清一区| 91蜜桃婷婷狠狠久久综合9色| 亚洲免费资源在线播放| 欧美性xxxxx极品少妇| 亚洲高清不卡在线观看| 91精品国产高清一区二区三区| 久久精品99国产精品日本| 久久久精品日韩欧美| 国产精品一二三四区| 国产精品理伦片| 欧美日韩久久久久久| 免费成人在线网站| 久久精品亚洲精品国产欧美kt∨| 99麻豆久久久国产精品免费| 欧美美女一区二区在线观看| 国产另类ts人妖一区二区| 日韩免费视频一区二区| 捆绑紧缚一区二区三区视频 | 欧美一区二区久久| 蜜乳av一区二区| 国产精品久久久久影院亚瑟| 精品无人码麻豆乱码1区2区| 国产精品沙发午睡系列990531| 色狠狠av一区二区三区| 久久er精品视频| 亚洲精品成人悠悠色影视| 日韩三级视频中文字幕| 99久久精品国产一区二区三区 | 韩国女主播成人在线观看| 中文字幕亚洲一区二区va在线| 在线不卡中文字幕播放| eeuss鲁片一区二区三区在线看| 免费观看久久久4p| 一区二区在线看| 中文字幕欧美日本乱码一线二线| 91.xcao| 在线观看91精品国产入口| 国精产品一区一区三区mba视频 | 久久久精品欧美丰满| 日韩欧美一区二区视频| 色偷偷久久人人79超碰人人澡| 国产麻豆精品一区二区| 亚洲精品中文在线观看| 国产精品毛片久久久久久久| 国产精品久久久久婷婷二区次| 国产精品久久网站| 亚洲成人在线观看视频| 激情图片小说一区| 色悠悠久久综合| 日本道精品一区二区三区 | 成人激情午夜影院| 欧美日韩国产综合视频在线观看 | 青青青伊人色综合久久| 成人黄色777网| 欧美一区二视频| 亚洲欧美中日韩| 老司机精品视频在线| 色悠悠久久综合| 久久久国产精品麻豆| 亚洲第一电影网| 成人激情免费网站| 欧美videos大乳护士334| 亚洲黄色免费电影| 成人综合在线观看| 日韩欧美一区电影| 亚洲 欧美综合在线网络| 成人av小说网| 日本一区二区三区免费乱视频| 天堂久久久久va久久久久| 色综合天天综合网国产成人综合天| 精品久久久久久久久久久久久久久 | 亚洲欧美中日韩| 国产精品1区2区3区| 日韩欧美中文字幕一区| 亚洲成人中文在线| 欧洲在线/亚洲| 国产成人精品亚洲日本在线桃色 | 久久只精品国产| 中文字幕色av一区二区三区| 亚洲在线免费播放| 国产传媒久久文化传媒| 欧美日韩中字一区| 亚洲国产精品成人综合 | 欧美三级欧美一级| 久久久久国产免费免费| 一区二区三区在线视频观看58| 日本色综合中文字幕| av在线播放不卡| 久久久久久久国产精品影院| 日本在线观看不卡视频| 91久久线看在观草草青青| 欧美精品一区二区三区很污很色的| 亚洲黄色av一区| 成人美女视频在线观看| 精品久久久久99| 日本va欧美va瓶| 91麻豆精品国产91久久久久久| 亚洲精品自拍动漫在线| 成人国产亚洲欧美成人综合网| 精品免费99久久| 六月丁香婷婷色狠狠久久| 欧美肥妇bbw| 日韩黄色免费电影| 欧美精品电影在线播放| 日韩成人dvd| 欧美一级高清大全免费观看| 日韩精品乱码免费| 欧美一区二区三区在线观看视频 | 不卡一区二区中文字幕| 欧美国产成人精品| 99re成人精品视频| 亚洲乱码国产乱码精品精小说| 欧美日韩久久久久久| 久久久久久久综合| 久久av中文字幕片| 欧美在线高清视频| 一区二区三区成人在线视频| 成人伦理片在线| 2023国产精品| 成人午夜电影小说| 日韩手机在线导航| 久色婷婷小香蕉久久| 精品国产乱子伦一区| 丰满岳乱妇一区二区三区| 亚洲男同性恋视频| 9191成人精品久久| 国产精品亚洲第一区在线暖暖韩国| 国产精品热久久久久夜色精品三区| 99久久er热在这里只有精品66| 夜夜爽夜夜爽精品视频| 日韩视频免费观看高清完整版在线观看 | 欧美午夜精品免费| 国内精品伊人久久久久av影院| 亚洲图片欧美激情| 91麻豆精品国产91久久久更新时间| 国产精品自拍网站| 亚洲成在人线在线播放| 欧美国产成人精品| 91.xcao| 色老头久久综合| 国产精品影视在线观看| 亚洲chinese男男1069| 国产精品理论片| 久久久久久一级片| 在线综合+亚洲+欧美中文字幕| www.亚洲在线| 国产综合久久久久久久久久久久| 亚洲一二三区在线观看| 国产欧美日韩不卡免费| 欧美一区二区三区成人| 一本到一区二区三区| 国产伦精品一区二区三区视频青涩 | 国产精品一区二区男女羞羞无遮挡 | 欧美成人a在线| 在线播放视频一区| 欧美日韩国产片| 日本久久精品电影| 91黄色免费观看| 99国产精品国产精品毛片| 成人avav影音| 成人h动漫精品一区二| bt欧美亚洲午夜电影天堂| 高清成人免费视频| 国产a久久麻豆| 成人av电影在线| 成人h动漫精品一区二区| 成人免费va视频| 99久久伊人网影院| 99精品桃花视频在线观看| 成人a区在线观看| 色综合久久天天| 在线日韩一区二区| 欧美日韩大陆在线| 日韩欧美国产不卡| 26uuu成人网一区二区三区| 精品国产免费一区二区三区香蕉 | 在线不卡的av|