这个问题在这里已经有答案了:
将preparedstatement插入数据库-psql(1个答案)
如何在java语句[duplicate](5个答案)中使用execute()获得true或false
两年前关门了。
我正在使用googleapps脚本,并使用jdbc连接到一个外部数据库。
我有一个user表和一个contracts表,我更改了一些隐私值,但这是我的基本查询。基本上,我有一个要循环的合同号列表,对于每个合同号,执行查询。contracts表和user表共享一个主id,因此我只是尝试更新user表中的一个值,其中users contract id等于该contract编号的contract id。
var contractNumbers = ["123","456","789"];
for (var a in contractNumbers) {
var stmt = conn.createStatement();
var contractNum = contractNumbers[a];
var query = "UPDATE user INNER JOIN contracts ON user.id_c = contracts.id SET user.quantity = '1' WHERE contracts.number = '" + contractNum + "'";
var stmt = conn.prepareStatement(query);
var result = stmt.execute();
}
此查询正在工作,并且正在正确、准确地更改值,但是结果总是返回false。知道我的查询有什么问题吗?它正在工作,但返回false?或者是一个更好的方法来执行这个查询的建议?
2条答案
按热度按时间gzszwxb41#
当您输入数据而不获取数据时,返回
false
医生说:返回:如果第一个结果是resultset对象,则返回true;如果第一个结果是更新计数或没有结果,则为false。
在你的情况下,这是一个更新,没有结果
此处提供完整文档
r1wp621o2#
感谢上面的@jsmith,我被指向了正确的方向。正确的执行是:
per-无法使用executequery()发出数据操作语句