介面 ResultSetMetaData__介面

來源:互聯網
上載者:User
定義如下:
public interface ResultSetMetaData extends Wrapper
可用於擷取關於 ResultSet 對象中列的類型和屬性資訊的對象。以下程式碼片段建立 ResultSet 對象 rs,建立 ResultSetMetaData 對象 rsmd,並使用 rsmd 尋找 rs 有多少列,以及 rs 中的第一列是否可以在 WHERE 子句中使用。
例如: package ResultSetMetaData; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class test {         public static void main(String[] args) {     Connection conn=null;     Statement stmt=null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:oracle12c", "c##scott", "tiger"); stmt = conn.createStatement(); //建立 ResultSet 對象 rs     ResultSet rs = stmt.executeQuery("select * from test");     //建立 ResultSetMetaData 對象 rsmd     ResultSetMetaData rsmd = rs.getMetaData();     //使用 rsmd 尋找 rs 有多少列     int numberOfColumns = rsmd.getColumnCount();     // rs 中的第一列是否可以在 WHERE 子句中使用     boolean b = rsmd.isSearchable(1);             System.out.println("資料中總共有"+numberOfColumns+"列");             System.out.println("rs 中的第一列是否可以在 WHERE 子句中使用"+b); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } 我們還可以擷取更多的資訊:  String getCatalogName(int column)            擷取指定列的表目錄名稱。   String getColumnClassName(int column)            如果調用方法 ResultSet.getObject 從列中擷取值,則返回構造其執行個體的 Java 類的完全限定名稱。   int getColumnCount()            返回此 ResultSet 對象中的列數。   int getColumnDisplaySize(int column)            指示指定列的最大標準寬度,以字元為單位。   String getColumnLabel(int column)            擷取用於列印輸出和顯示的指定列的建議標題。   String getColumnName(int column)            擷取指定列的名稱。   int getColumnType(int column)            擷取指定列的 SQL 類型。   String getColumnTypeName(int column)            擷取指定列的資料庫特定的類型名稱。   int getPrecision(int column)            擷取指定列的指定列寬。   int getScale(int column)            擷取指定列的小數點右邊的位元。   String getSchemaName(int column)            擷取指定列的表模式。   String getTableName(int column)            擷取指定列的名稱。   boolean isAutoIncrement(int column)            指示是否自動為指定列進行編號。   boolean isCaseSensitive(int column)            指示列的大小寫是否有關係。   boolean isCurrency(int column)            指示指定的列是否是一個雜湊碼值。   boolean isDefinitelyWritable(int column)            指示在指定的列上進行寫操作是否明確可以獲得成功。   int isNullable(int column)            指示指定列中的值是否可以為 null。   boolean isReadOnly(int column)            指示指定的列是否明確不可寫入。   boolean isSearchable(int column)            指示是否可以在 where 子句中使用指定的列。   boolean isSigned(int column)            指示指定列中的值是否帶加號或減號。   boolean isWritable(int column)            指示在指定的列上進行寫操作是否可以獲得成功。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.