按名称从ResultSet获取值 [英] Get value from a ResultSet by name

查看:0
本文介绍了按名称从ResultSet获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何通过属性名称从ResultSet中获取值?

DB-Table(表):

name:TEXT | age:INT | gender:INT

SQL-查询:

SELECT * FROM table WHERE name='john'

输出在java.sql.ResultSet

如何按列名(名称、年龄、性别)获取变量?

推荐答案

使用ResultSetMetaData

ResultSetMetaData metaData = resultSet.getMetaData();

例如:

...
 ResultSet rs = stmt.executeQuery(query);
   while (rs.next()) {
         int count = metaData.getColumnCount();
         for (int i = 1; i <= count; i++)
         {
           String columnName = metaData.getColumnName(i);
           int type = metaData.getColumnType(i);
           if (type == Types.VARCHAR || type == Types.CHAR) {
               out.print(rs.getString(columnName));
               String name= rs.getString(columnName);
           }
           if (type==Types.INTEGER){
               out.print(rs.getInt(columnName));
               int age= rs.getInt(columnName);
            }
           // ....
           // save columnName and name
         }
    }
 }

...

这篇关于按名称从ResultSet获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆