java - 在这种情况下如何动态为 ResultSet 提供列名称?

标签 java

我有一个如下所示的ArrayList

  import java.util.ArrayList;

public class Mann {

    public static void main(String args[]) {

        ArrayList<String> billOrderList = new ArrayList<String>();

        list.add("VAT");
        list.add("Discount");
        list.add("SERVICE CHARGE");

        StringBuilder select_query = new StringBuilder();
        select_query.append("Select ");

        for (int i = 0; i < billOrderList.size(); i++) {

            if (i != billOrderList.size() - 1) {
                select_query.append("" + billOrderList.get(i) + " , ");
            } else {
                select_query.append("" + billOrderList.get(i) + "");
            }
        }

        select_query.append(" From VENDOR_ITEMS WHERE vendor_items_id = "
                + vendor_item + "");

        VendorItems_Pstmt = dbConnection.prepareStatement(select_query
                .toString());
        VendorItems_RSet = VendorItems_Pstmt.executeQuery();
        while (VendorItems_RSet.next()) {

            String tax_name = VendorItems_RSet.getString();
        }
    }

}

我如何在 VendorItems_RSet.getString(); 行中给出在这种情况下动态的列名称?

最佳答案

您需要 ResultSetMetaData获取与查询结果关联的列名。
您可以使用 ResultSet.getMetaDateResultSet 获取 ResultSetMetaData ,您可以迭代它并获取列所有列名称。

ResultSetMetaData  VendorItems_RSet_metaData = VendorItems_RSet.getMetaData(); 
int numberOfColumns = VendorItems_RSet_metaData .getColumnCount(); 
for(int i=1;i<=numberOfColumns;i++)
{   
   String columnName = VendorItems_RSet_metaData.getColumnName(i);
}

我认为您需要所有列数据,以便您可以像这样迭代循环

while (VendorItems_RSet.next()) 
{
  for(int i=1;i<=numberOfColumns;i++)
  {   
     String columnName = VendorItems_RSet_metaData.getColumnName(i);
     String tax_name = VendorItems_RSet.getString(columnName);
     System.out.println(tax_name); 
  }         
}

关于java - 在这种情况下如何动态为 ResultSet 提供列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036911/

相关文章:

java - Rest 服务出现 404 错误 - Jersey/tomcat8

java - 这个缓存线程安全吗?

java - 即时更新 UI

Java扫描器+排序

java - 复杂计算器的对象模型

java - 类型 "Interface"与注入(inject)点 [BackedAnnotatedField] @Inject "Implementation"处的限定符 @Default 的依赖关系不满足

java - 有没有Java的开源exe解决方案?

java - EclipseLink MOXy OSGi bundle 的问题

Intellij 中的 JavaFX 和 Maven : JAVA_HOME set but "Unrecognized option --module-path" error persisting

java - Netbeans 编辑器如何知道文件在撤消后未被修改?