【发布时间】:2015-03-18 10:18:19
【问题描述】:
我正在开发一个使用 JDBC 对数据库执行查询的 Java 应用程序,但我在非常简单的 update 查询中遇到了以下问题。
所以我有这个查询(实际上不完整):
sb.append("UPDATE coda_tx c SET c.FK_STATO = ");
sb.append(newStatus);
sb.append(",c.DATA_OUT = ");
sb.append(???)
sb.append(" WHERE c.PK_CODA = ");
sb.append(pkCoda);
所以这个查询可以简单地更新 coda_tx 表的 2 个字段。
FK_STATO 字段更新不是问题(它是用字符串更新的,它工作正常,我在以前的查询版本中尝试过)但我不知道如何正确更新 DATA_OUT 字段是 DATE SQL 字段。
具体来说,我知道它是用 sysdate 更新的,它说:
- CODA_TX.data_out = 系统日期
所以我认为它必须使用从 Java 检索到的当前日期进行更新。是对的还是我错过了什么?这个 sysdate 到底是什么?如何正确检索和使用?
我有什么可以代替 ??? 到 sb.append(???) 来更新字段?
Tnx
【问题讨论】:
-
也许这会有所帮助? stackoverflow.com/questions/18257648/…
-
与问题无关,但你为什么不使用绑定变量来设置
newStatus和pkCoda? -
Alex 的意思是你很容易受到 SQL 注入的攻击。
标签: java sql oracle jakarta-ee jdbc