Java 在这种情况下,如何为ResultSet动态指定列名?

Java 在这种情况下,如何为ResultSet动态指定列名?,java,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")

我有一个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();
        }
    }

}
import java.util.ArrayList;
公共课{
公共静态void main(字符串参数[]){
ArrayList billOrderList=新建ArrayList();
列表。添加(“增值税”);
列表。添加(“折扣”);
列表。添加(“服务费”);
StringBuilder选择_query=新建StringBuilder();
select_query.append(“select”);
对于(int i=0;i

在本例中,如何在VendorItems_RSet.getString();?行中给出动态的列名

选择*
,然后

ResultSetMetaData metaData = VendorItems_RSet.getMetaData();
int columns = metaData.getColumnCount();
for (int i = 1; i <= columns; ++i) {
    System.out.println(metaData.getColumnName(1));
}
ResultSetMetaData=VendorItems_RSet.getMetaData();
int columns=metaData.getColumnCount();
对于(int i=1;i
ResultSetMetaData ResultSetMetaData=VendorItems_RSet.getMetaData();
对于(int i=1;i您需要as来获取与查询结果关联的列名。
您可以通过使用从
ResultSet
获取
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);
}
ResultSetMetaData供应商项_RSet_元数据=供应商项_RSet.getMetaData();
int numberOfColumns=vendoriems\u RSet\u metaData.getColumnCount();
对于(int i=1;i
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); 
  }         
}