我需要获取jdbc查询的输出,但无论我在哪里谷歌,它都会返回一个结果集。但是,它只是一排。这是我的查询
ResultSet rsLocationId = null;
rsLocationId = stmtLocation.executeQuery("SELECT apmcid FROM userbusinesstoapmc WHERE userbusinessid='"+userBusinessKey+"'");
它应该将单个记录作为字符串返回。我怎么转换它?任何想法都将不胜感激。
答案 0 :(得分:2)
我建议您使用PreparedStatement
和bind参数,目前您很容易受到SQL Injection攻击。
PreparedStatement ps = null;
ResultSet rs = null;
String result = null;
final String sql = "SELECT apmcid FROM userbusinesstoapmc "
+ "WHERE userbusinessid=?";
try {
ps = conn.prepareStatement(sql);
ps.setString(1, userBusinessKey);
rs = ps.executeQuery();
if (rs.next()) {
result = rs.getString("apmcid");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
答案 1 :(得分:1)
你可以这样尝试
ResultSet rsLocationId = null;String result="";
rsLocationId = stmtLocation.executeQuery("SELECT apmcid FROM userbusinesstoapmc WHERE userbusinessid='"+userBusinessKey+"'");
if(rsLocationId.next())
{
result=rsLocationId.getString('apmcid');
}
答案 2 :(得分:0)
即使您的特定查询仅返回单个列,如果您希望结果为String,则可能是某些CHAR类型,executeQuery方法返回结果集对象,而不是String对象。因此,您必须处理结果集以获取String数据。 SpringLearner提供了一个如何做到这一点的好例子。