参见英文答案 > Having a Column name as Input Parameter of a PreparedStatement 1个
我正在使用PreparedStatement从表中选择记录:
public static String getMemberInfo(String columnName, Integer memberId) {
String memberInfo = "";
String sql = "SELECT ? FROM member WHERE member_id = ?";
DatabaseConnector.setConn();
try(Connection conn = DatabaseConnector.getConn();
PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setString(1, columnName);
ps.setInt(2, memberId);
try(ResultSet rs = ps.executeQuery()) {
if(rs.next()) {
memberInfo = rs.getString(columnName);
}
}
} catch(sqlException se) {
se.printstacktrace();
}
return memberInfo;
}
我用的时候
SELECT“columnName”FROM成员WHERE member_id =?,它的工作原理.
但是当我使用时
选择 ? FROM成员WHERE member_id = ?,它没有.
应该在哪里?准备好的陈述?
解决方法:
?用于输入值(通常在WHERE子句条件中).
?不适用于选定的列.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。