gpt4 book ai didi

java - "Invalid column index"尝试插入行时出现 SqlException 错误

转载 作者:行者123 更新时间:2023-12-02 07:55:38 24 4
gpt4 key购买 nike

我在设置 PreparedStatement 以将新行插入表中时遇到问题。我已经在 SQL 编辑器中测试了该查询,它成功运行,但我无法让此PreparedStatement 运行。

String sql = "INSERT INTO table game(gamedate, type, world) values (TIMESTAMP '?', ?, '?');"
runQuery(sql, date, type, world);

...

protected runQuery(String sql, Object... params){
try {
initiateConnection();
PreparedStatement statement = connection.PrepareStatement(sql);

int i = 1;
for (Object p : params){
statement.setObject(i, p);
i++;
}
statement.executeUpdate();
} catch (Exception ex){

} finally {
//close up things
}
}

我添加了一些 println() 来测试输出,看起来一切都很好

sql: INSERT INTO game(gamedate, type, world) values(TIMESTAMP '?', ?, '?');
date: 2012-03-13 21:42:14
type: 1
world: test

我得到的错误是

java.sql.SQLException invalid column index

我真的很困惑这里。知道罪魁祸首是什么吗?

最佳答案

两个猜测:

  • 问号处不需要引号。摆脱那些
  • TIMESTAMP 函数可能有问题。在将日期设置到准备好的语句中之前,请尝试将日期转换为时间戳。 (date.getTime()/1000)

关于java - "Invalid column index"尝试插入行时出现 SqlException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9692022/

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