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);
}
}
}
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/yangm1203/archive/2007/07/30/1717412.aspx