close
import java.sql.*;

/*
 * DatabaseMetaData(較少用)
 * 透過Connection介面的getMetaData()取得DatabaseMetaData物件
 * DatabaseMetaData物件用來取得資料庫相關資訊,通常為開發人員用來寫獨立於資料庫的驅動程式和開發工具
 */
public class DatabasetMetaDataDemo {

	public static void main(String args[]) {

		Connection conn = null;
		ResultSet rs = null;

		try {
			String Url = "jdbc:sqlserver://localhost:1433;databaseName=jdbc";
			conn = DriverManager.getConnection(Url, "sa", "passw0rd");
			DatabaseMetaData dbmd = conn.getMetaData();
			System.out.println(dbmd.getDatabaseProductName()); // 取得資料庫名稱(sqlServer、oracle...)
			System.out.println(dbmd.getDriverName());// 取得驅動程式的名稱
			rs = dbmd.getTableTypes();// 取得表格種類
			while (rs.next()) {
				System.out.print(rs.getString("TABLE_TYPE") + ",");
				System.out.print("\n");
			}

			/*
			 * getPrimaryKeys(String catalog,String schema, String table)
			 * catalog=資料庫名稱、schema=資料輪廓 ;EX:dbo.employee 、table=資料表名稱
			 */
			rs = dbmd.getPrimaryKeys(null, null, "EMPLOYEE");// null表示預設
			while (rs.next()) {
				System.out.print("TABLE_NAME=" + rs.getString("TABLE_NAME") + ",");// 取得表格名稱
				System.out.print("COLUMN_NAME=" + rs.getString("COLUMN_NAME") + ",");// 取得欄位名稱
				System.out.println("KEY_SEQ=" + rs.getString("KEY_SEQ") + ",");// 取得主鍵值
			}

		} catch (SQLException e) {

			e.printStackTrace();
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}

	}

}

 

arrow
arrow
    全站熱搜

    goodice0728 發表在 痞客邦 留言(0) 人氣()