gpt4 book ai didi

java - 提交更新后找不到列(JDBC、MySQL)

转载 作者:行者123 更新时间:2023-11-30 01:20:02 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题:我对 MySQL 5.1 数据库执行 SELECT 查询,提交 UPDATE 查询,之后无法再次执行 SELECT 查询(Java 提示找不到该列)。

这是我的代码:
//选择

 dbhIrmdb.setAutoCommit(false);
PreparedStatement preparedSelect=null;
preparedSelect=dbhIrmdb.prepareStatement(query);
ResultSet rowSet=preparedSelect.executeQuery();
dbhIrmdb.commit();
while (rowSet.next()) {
computer=new ComputerInfo();
computer.setIndex(index); index++;
computer.setComputers_id(rowSet.getString("computers_id"));
....
}
dbhIrmdb.setAutoCommit(true);

//更新

 PreparedStatement commonUpdate=null;
try {
String queryUpdate="UPDATE computers SET name=?, serial=?, inv_number=?, comments=?, rack_unit=?, box_unit=?, ram=? WHERE ID="
+currentComp.getComputers_id();
dbhIrmdb.setAutoCommit(false);
commonUpdate=dbhIrmdb.prepareStatement(queryUpdate);
commonUpdate.setString(1, currentComp.getComputers_name());
...
commonUpdate.executeUpdate();
dbhIrmdb.commit();
} catch (SQLException ex) {
ex.printStackTrace();
try {
System.err.print("Transaction is being rolled back");
dbhIrmdb.rollback();
} catch(SQLException excep) {
excep.printStackTrace();
}
}
finally {
if (commonUpdate != null) {
commonUpdate.close();
}
dbhIrmdb.setAutoCommit(true);
}

我在网站上进行了深入研究,但没有找到这样的案例。

如果您有任何帮助或建议,我将不胜感激。

最佳答案

您在 //SELECT block 中有 computers_id,在 //UPDATE 中有 ID

在//UPDATE block 中尝试此操作

String queryUpdate="UPDATE computers SET name=?, serial=?, inv_number=?, comments=?, rack_unit=?, box_unit=?, ram=? WHERE computers_id="
+currentComp.getComputers_id();

关于java - 提交更新后找不到列(JDBC、MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652379/

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