使用ResultSetMetaData显示字段的名字等信息

来源:互联网 发布:美容软件 编辑:程序博客网 时间:2024/05/29 18:30
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);
        }

    }

}

原创粉丝点击