运算符不存在:字符变化= ?, postgres JDBC占位符不起作用

问题描述

方法有问题。假设从数据库中返回问题,其中章节编号指示要返回的问题。

正在返回:

错误:运算符不存在:字符变化=? 提示:没有运算符匹配给定的名称和参数类型。您可能需要添加一个显式的类型转换。

尝试了投射,但没有任何效果。似乎正在使用占位符“?”即使不是双引号也可以将其作为文字值。

正在从前端传递参数,但会抛出错误:500内部服务器错误,我猜是因为“操作员不存在”。

不确定从何处去,因此我们将不胜感激。

p.s。之前传递的参数是Integer,但是再次要求我将其强制转换,因此更改为String,并将Db列数据类型从smallint更改为VARCHAR,以尝试获得某种数据类型的兼容性,但到目前为止还没有。也许可以解决问题,但我不确定如何自己解决问题。

public List<Question> selectQuestionsByChapterNumber(String chapternumber) {
    final String sql= "SELECT question FROM chapter_questions WHERE chapternumber=?";
    return jdbcTemplate.query(sql,(resultSet,i) ->{
        return new Question(
                resultSet.getInt("id"),resultSet.getString("chapternumber"),resultSet.getString("question"),resultSet.getString("answer"));
    });
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)