package com.test; import java.sql. * ; /** */ /***************************************** 此例说明的问题:JDBC开发流程 --使用ResultSetMetaData显示字段的名字等信息* 注:该例中使用的驱动为Jdbc-Odbc桥驱动****************************************/ class Hello ... { public static void main(String args[]) ...{ try ...{ /** *//** * 第一步:加载JDBC驱动; */ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); /** *//** * 第二步:建立连接; * 注:此步需要为SqlServer数据库Book建立数据源名称bookdsn */ String url="jdbc:odbc:bookdsn"; Connection con=DriverManager.getConnection(url,"sa",""); /** *//** * 第三步:创建Statement,执行查询并得到结果集; */ Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery("SELECT ID,book_name,book_price,book_quantity from book_stock"); /** *//** * 第四步:处理结果集; * 注:(1)在循环读取字段内容时,必须按字段记录集的顺序读取; * 顺序即select语句中的顺序,否则产生索引异常; * (2)一个字段在当前行只能读取一次; */ System.out.println("编号 图书名称 图书单价 图书数量 "); while(rs.next()) ...{ int id=rs.getInt("ID"); String book_name=rs.getString("book_name"); double book_price=rs.getDouble("book_price"); int book_quantity=rs.getInt("book_quantity"); System.out.println(id+" "+book_name+" "+book_price+" "+book_quantity); } /** *//** * 使用ResultSetMetaData显示字段的名字等信息 */ ResultSetMetaData rsMeta=rs.getMetaData(); System.out.print(" 字段的数量:"); int colCount=rsMeta.getColumnCount(); System.out.println(colCount); System.out.println("下面输出字段名称及类型"); for(int i=1;i<=colCount;i++) ...{ System.out.println(rsMeta.getColumnName(i)+" 类型:"+rsMeta.getColumnTypeName(i)); } /** *//** * 第五步:关闭连接、结果集; * 注:先关结果集再关连接; */ rs.close(); stmt.close(); con.close(); } catch(Exception e) ...{ System.out.println("发生异常:"+e); } }}