熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

表的信息的獲得---ResultSetMetaData

2013-11-23 17:54:51  來源: Javascript 

  在這個演示程序中用到數據庫是Access的數據庫中的表的名字是STUDENTINFO表包含字段有
  
  IDNO 文本型 長為
  
  NAME 文本型 長為
  
  SEX 文本型 長為
  
  AGE 數值型 長為
  
  BIRTHDT 文本型 長為
  
  程序中主要是操作這個表選擇的驅動是ODBC程序如下
  
  import javasql*;
  
  public class DBAccess {
  
   public static javasqlConnection conn = null;
  
   private String sqlStr = ;
  
   public DBAccess()
  
   {
  
    //new sunjdbcodbcJdbcOdbcDriver();
  
    try {
  
     ClassforName(sunjdbcodbcJdbcOdbcDriver);
  
     conn = DriverManagergetConnection(jdbc:odbc:TestDBadmin);
  
    }
  
    catch (ClassNotFoundException ex) {
  
     Systemoutprintln(extoString());
  
    }
  
    catch(SQLException sqlEx){
  
     Systemoutprintln(sqlExtoString());
  
    }
  
   }
  
  public ResultSet Search() {
  
    ResultSet rset = null;
  
    sqlStr = SELECT * FROM STUDENTINFO;
  
    Statement smt = null;
  
    try {
  
     smt = conncreateStatement();
  
     rset = smtexecuteQuery(sqlStr);
  
    }
  
    catch (SQLException ex) {
  
     Systemoutprintln(Exception:+extoString());
  
    }
  
    return rset;
  
  
  
   }
  
   public void getResultSetMetaData()
  
   {
  
    ResultSet rs = null;
  
   try {
  
    String[] tp = {TABLE};
  
    rs = thisSearch();
  
    ResultSetMetaData rsmd = rsgetMetaData();  
  
  /*
  
  獲得ResultSetMeataData對象所有方法的參數都是列的索引號即第幾列開始
  
  */
  
    Systemoutprintln(下面這些方法是ResultSetMetaData中方法);
  
    Systemoutprintln(獲得列所在的Catalog名字 : + rsmdgetCatalogName());
  
    Systemoutprintln(獲得列對應數據類型的類 + rsmdgetColumnClassName());
  
    Systemoutprintln(獲得該ResultSet所有列的數目 + rsmdgetColumnCount());
  
    Systemoutprintln(列在數據庫中類型的最大字符個數 + rsmdgetColumnDisplaySize());
  
    Systemoutprintln( 列的默認的列的標題 + rsmdgetColumnLabel());
  
    Systemoutprintln(列的模式 + rsmdGetSchemaName());
  
    Systemoutprintln(列的類型返回SqlType中的編號 + rsmdgetColumnType());
  
    Systemoutprintln(列在數據庫中的類型返回類型全名 + rsmdgetColumnTypeName());
  
    Systemoutprintln(列類型的精確度(類型的長度): + rsmdgetPrecision());
  
    Systemoutprintln(列小數點後的位數 + rsmdgetScale());
  
    Systemoutprintln(列對應的模式的名稱(應該用於Oracle) + rsmdgetSchemaName());
  
    Systemoutprintln(列對應的表名 + rsmdgetTableName());
  
    Systemoutprintln(列是否自動遞增 + rsmdisAutoIncrement());
  
    Systemoutprintln(列在數據庫中是否為貨幣型 + rsmdisCurrency());
  
    Systemoutprintln(列是否為空 + rsmdisNullable());
  
    Systemoutprintln(列是否為只讀 + rsmdisReadOnly());
  
    Systemoutprintln(列能否出現在where中 + rsmdisSearchable()); 
  
   }
  
   catch (SQLException ex) {
  
    exprintStackTrace();
  
   }
  
   }
  
   public static void main(String args[])
  
   {
  
    DBAccess dbAccess = new DBAccess();
  
    dbAccessgetResultSetMetaData();
  
   }
  
  }
  通過上面例子中的方法能夠獲得ResultSet中的表的信息有兩個方法的用法我也不甚清楚所以沒寫弄明白了再作補充
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25341.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.