⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.java

📁 java patterns book
💻 JAVA
字号:
import java.sql.*;
import java.util.*;

class Database
{
Connection con;
resultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
String catalog;
String types[];
String database_url;

   public Database(String driver)
   {
    types = new String[1];
    types[0] = "TABLES";         //initialize type array
    try{Class.forName(driver);}  //load the Bridge driver
    catch (Exception e)
    {System.out.println(e.getMessage());}
   }
   //-----------------------------------
   public void close()
   { 
      try{
      con.close();}
      catch (Exception e)
      {System.out.println("close error");}
      
   }
   //-----------------------------------

   public void Open(String url, String cat)
   {
    catalog = cat;
    database_url = url;
    try {con = DriverManager.getConnection(url);
    dma =con.getMetaData();   //get the meta data
    }
    catch (Exception e)
    {System.out.println(e.getMessage());}
   }
   //-----------------------------------
   public void reOpen()
   {                                     
     try {con = DriverManager.getConnection(database_url);
    dma =con.getMetaData();   //get the meta data
    }
    catch (Exception e)
    {System.out.println(e.getMessage());}
   }
   //-----------------------------------
   public String[] getTableNames()
   {
    String[] tbnames = null;
    Vector tname = new Vector();
    //add the table names to a Vector
    //since we don't know how many there are
    try {
      results = new resultSet(dma.getTables(catalog, null, "%", types));
      }
     catch (Exception e) {System.out.println(e);} 
      
     while (results.hasMoreElements())
         tname.addElement(results.getColumnValue("TABLE_NAME"));
      
     
     //copy the table names into a String array
      tbnames = new String[tname.size()];
      for (int i=0; i< tname.size(); i++) 
         tbnames[i] = (String)tname.elementAt(i);
      return tbnames;
   }
   //-----------------------------------
   public String[] getTableMetaData()
   {
      // return the table type information
      results = null;
      try{
      results = new resultSet(dma.getTables(catalog, null, "%", types));
      }
      catch (Exception e)
      {System.out.println(e.getMessage());}
      return results.getMetaData();
   }
   //-----------------------------------
   public String[] getColumnMetaData(String tablename)
   {
    //return the data on a column
    results = null;
    try {
    results = new resultSet(dma.getColumns(catalog, null, tablename, null));
    }
    catch (Exception e)
   {System.out.println(e.getMessage());}
    return results.getMetaData();
   }
   //-----------------------------------
   public String[] getColumnNames(String table)
   {
   //return an array of Column names
   String[] tbnames = null;
   Vector tname = new Vector();

   try {
    results = new resultSet(dma.getColumns(catalog, null, table, null));
    while (results.hasMoreElements() )
       tname.addElement(results.getColumnValue("COLUMN_NAME"));  
      }
   catch (Exception e) {System.out.println(e);}

   tbnames = new String[tname.size()];
   for (int i=0; i< tname.size(); i++) 
      tbnames[i] = (String)tname.elementAt(i);
   return tbnames;
   } 
//-----------------------------------
   public String getColumnValue(String table, String columnName)
   {
   //return the value of a given column 
   String res = null;
   try 
     {
      if (table.length()>0) 
         results = Execute("Select "+columnName+" from "+table+" order by "+columnName);
      if (results.hasMoreElements())
         res = results.getColumnValue(columnName);
     }
   catch (Exception e)
   {System.out.println("Column value error" +columnName+ e.getMessage());}

   return res;
   }
//-----------------------------------
   public String getNextValue(String columnName)
   {
   // return the next value in that column
   //using the remembered resultSet
      String res = "";
   try 
     {
      if (results.hasMoreElements())
         res = results.getColumnValue(columnName);
     }
   catch (Exception e)
   {System.out.println("next value error"+columnName+ e.getMessage());}

   return res;
 }
//-----------------------------------
   public resultSet Execute(String sql)
   {
   //execute an SQL query on this database
   results = null;
   try
      {
      Statement stmt = con.createStatement();
      results = new resultSet(stmt.executeQuery(sql));
    }
    catch (Exception e)
      {System.out.println("execute error: "+e.getMessage());}
   return results;
   }
}

⌨️ 快捷键说明

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