gpt4 book ai didi

java - 使用PreparedStatement插入数据的JdbcTemplate更新出现异常

转载 作者:行者123 更新时间:2023-12-01 06:11:01 24 4
gpt4 key购买 nike

我正在使用 jdbcTemplate 的准备语句将一些数据写入表中。目前,我面临以下异常,我不确定我做错了什么。

private void insertdata(String time, String data, Datasource datasource){
String sql = "insert into table1 (columns1, columns2) values (:time, :data)";
jdbcTemplate jdbctemplate = new jdbcTemplate(datasource);
Object[] params = {time, data};
int[] types = {Types.VARCHAR, Types.VARCHAR};
try{
jdbctemplate.update(sql, params, types);
}catch(Exception e){
//some error handling
}
}

我在日志中收到以下异常。

PreparedStatementCallback; SQL [insert into table1 (columns1, columns2) values (:time, :data)]; Parameter index out of range (1 > number of parameters, which is 0).; nested exception is java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

我不知道我哪里错了。

最佳答案

您仍在幕后使用 JDBC - 因此请将您的语句重新编码为

String sql = "insert into table1 (columns1, columns2) values (?,?)";

你会没事的或者

使用NamedParameterJdbcTemplate作为您的模板。

关于java - 使用PreparedStatement插入数据的JdbcTemplate更新出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34585529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com