用java想输出表的每一列的所有项该怎么实现??
下面的一个方法,可是结果只输出id这一列,怎么在id后再输出name呢 多谢!package day614;import java.sql.*;import day614.JdbcUtil;public class TestTable { public static void main(String[] args) throws SQLException {
if (args.length < 1) {
System.out.println("格式:day614 table_name");
}
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String table = args[0];
con = JdbcUtil.getConnection();
String sql = "select * from " + table;
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
StringBuffer sb = new StringBuffer();
ResultSetMetaData rm = rs.getMetaData();
int col = rm.getColumnCount();
for (int i = 1; i < col; i++) {
sb.append(rm.getColumnName(i) + "->");
sb.append(rm.getColumnType(i) + " ");
sb.append(rm.getColumnTypeName(i) + "\n");
}
while (rs.next()) {
for (int i = 1; i < col; i++) {
sb.append(rm.getColumnName(i) + "=");
sb.append(rs.getString(i));
}
sb.append("\n");
}
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.release(rs, ps, con);
}
}
}

解决方案 »

  1.   

    是不是问题描述的不够清楚
    一个test_all的表格有id和name 两个列,在jdbc中该怎样将两列都显示出来呢。。?
    希望能有时间帮忙看下
      

  2.   

    ......
    java.sql.ResultSet rs;
    ......
    st = conn.createStatement();
    rs = st.executeQuery("select * from " + table);
    while(rs.next()){
    System.out.println(rs.getString("id"));//获得id列
    System.out.println(rs.getString("name"));//获得name列
    ......//获得其他列
    }rs.getString(int columnIndex)
    表示从结果集当前行获得一列的数据 参数表示列名 获得的列数据会以String类型返回rs.getString(int columnName)
    表示从结果集当前行获得一列的数据 参数表列数(从左往右数) 获得的列数据会以String类型返回
      

  3.   

    什么数据类型...  String  类型的用  getString("列名或者下标")  方法.. 获取.
      其他列同上
      

  4.   

    rs = st.executeQuery("select * from " + table); 
    while(rs.next()){ 
    System.out.println(rs.getInt(1));//获得第1列数据类型为整数型 
    System.out.print(rs.getString(2)+"\t");//第2列数据类型为字符型
    建议查看文档:对应你所查的该DB列中的数据类型来获取值.
      

  5.   

    呵呵 认真看看原来问题的原因在i<=col~~~~~~~~~~~原代码是正确啦 要认真再认真些 分数均摊下 也谢谢大家