有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVA,ResultSet是否可以拥有numberOfColumns(),这样我们就不必关心select查询中返回的列数了?

这是我的问题,我有一个连接许多表的select查询&;每个表都有许多列。我只想选择一切&;将结果作为文本(限制制表符)提供给用户,以便用户可以将该文本复制到excel&;在Excel中播放结果

如果是这种情况,那么我不需要在select查询中指定字段,只要select * from就足够了。但是,我被卡住了,因为我需要getStringexgetString(1);{}的具体数字

String sql="select * from tb1 join tb2 .......";
preparedStmt=myCon.prepareStatement(sql);
ResultSet results=preparedStmt.executeQuery();
String text="";
while(results.next()){
    int no=results.noOfColumns; //here is what i need
    for(int i=0; i<no; i++){
       String s=results.getString(i+1); 
      text+=s+"\t";
    }
    text+="\n"; 
}

共 (1) 个答案

  1. # 1 楼答案

    一个ResultSet包含一个关联的ResultSetMetaData,它包含了ResultSet中列的所有信息。您只需将其拉出并获取列数:

        ResultSetMetaData metadata = results.getMetaData();
        int no = metadata.getColumnCount();
    

    你可以去看看the ^{} API看看你能用它做的其他事情