Get value from a ResultSet by name(按名称从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获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!