demometadata.java

来自「一个JDBC应用的例子」· Java 代码 · 共 49 行

JAVA
49
字号
import java.sql.*;

public class DemoMetaData {
	public static void main(String[] args) {
		String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
		String source = "jdbc:odbc:PhoneBook";
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException exc) {
			System.out.println("没有发现驱动程序:" + driver);
			exc.printStackTrace();  System.exit(1);
		}
		try {
			// 建立与指定数据库的连接
			Connection connection = DriverManager.getConnection(source);
			// 如果连接成功则检测是否有警告信息
			SQLWarning warn = connection.getWarnings();
			while (warn != null) {
				System.out.println(warn.getMessage());
				warn = warn.getNextWarning();
			}
			// 创建执行简单SQL语句的SQL语句对象
			Statement stm = connection.createStatement();
			// 发送和执行简单SQL语句,获取查询结果集
			String sql = "SELECT * FROM Person";
			ResultSet result = stm.executeQuery(sql);
			ResultSetMetaData metaData = result.getMetaData();
			int columnCount = metaData.getColumnCount();
			System.out.println("字段名称\t字段类型\t字段长度\t字段所属类");
			for (int i = 0; i < columnCount; i++) {
				// 注意字段下标从1开始计算
				System.out.println(metaData.getColumnName(i+1) + "\t" + 
						metaData.getColumnTypeName(i+1) + "\t" + 
						metaData.getPrecision(i+1) + "\t" + 
						metaData.getColumnClassName(i+1));
			}
			// 关闭查询结果集
			result.close();
			// 关闭SQL语句
			stm.close();
			// 关闭数据库连接
			connection.close();
		} catch (SQLException exc) {
			System.out.println("在执行数据库访问时发生了错误!");
			exc.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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