微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 应该在哪里?被放置在PreparedStatement?

参见英文答案 > 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] 举报,一经查实,本站将立刻删除。

相关推荐