我在做项目的时候遇到一个问题,通过元数据库表中的数据库数据,取得其他数据库的连接信息
在通过JDBC建立连接
要查询该数据库中的表,问题是,我只知道表明,字段名,不知道字段类型
如何通过JDBC把这个表查询出来呢?

解决方案 »

  1.   

    1 用String勉强可以
    2 用ResultSet.getMetaData()取得MetaData可以取到字段类型信息
      

  2.   

    select * from 表名
    不就好了么,关你字段什么关系???、LZ将你的问题说清楚撒
      

  3.   

    不,可能是我没有把问题说清楚!
    我的意思是,表名、字段名都是保存在本地数据库的一张表里的,我需要写一个通用程序,从该表把这些信息取出来,拼接成查询SQL,然后把查询的值组装成一个List!已经找到解决的方法了,拿出来以供分享:
    try {
    JDBCUtil ju = new JDBCUtil();
    conn = ju.getConnection(dbInfo.getDbTyp(),dbInfo);
    stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(queryString);
    ResultSetMetaData md = rs.getMetaData(); 
    int columnCount = md.getColumnCount(); 
    while (rs.next()) {
    List list = new ArrayList();
    for (int i = 0; i < columnCount; i++) { 
           list.add(i, rs.getObject(i+1));
    }
    lists.add(list);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    看来JDBC中一些方法还是不熟悉啊!