ResultSet(JDBC)如何按列名返回值

时间:2018-05-26 07:24:38

标签: java jdbc

我有一个下面的代码,它从表列名返回结果集,而不考虑索引。

       public void getSingleValue(String filter) throws Exception 
       {
            Connection connection = null;
            try 
         {
            connection = DBConnectionUtils.getConnection().createNewConnection();
            this.statement = connection.createStatement();
            System.out.println(filter + "\t FilterVALUE");
            this.result = statement.executeQuery("Select * from products where product_name="+ '\u0022' + filter + '\u0022' + ";");

            while (result.next()) 
            {
             sysout(result.getString("product_ownernname"));
             sysout(result.getString("product_id"));
             sysout(result.getString("kindledevice_no"));

            }

        } 
        catch (Exception ex) 
        {
           ex.printStackTrace();
        } 
        finally 
        {
         connection.close();
        }

      }

它返回一个回复。我只是想知道如何在单次迭代中获取三个列值?怎么样?它是如何在内部工作的。是否可以实现相同的概念来从Excel工作表中读取数据?

任何线索?

1 个答案:

答案 0 :(得分:0)

您可以将结果视为将查询输出存储为表的表。 现在,result.next()将行指针提前1,最初行指针位于第1行之前(意味着它没有指向任何行)。
while(result.next())中将指针前进1,现在结果指向第一行结果,并且您正在访问while循环中的所有列。
这个过程一直持续到result.next()行。

您还可以使用apache POI阅读excel文件。

希望这是你问题的答案。