【发布时间】:2015-04-04 14:18:47
【问题描述】:
我正在编写一个数据库程序。但我坚持使用 Java 准备好的语句。准备好的声明似乎不起作用。我花了几个小时让它工作,但结果还是一样。
String sql = "INSERT into EDMSDATABASE.MESSAGE (title, subject, description, deadline) VALUES (?, ?, ?, ?)";
try (
PreparedStatement statement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
) {
statement.setString(1, bean.getTitle());
statement.setString(2, bean.getSubject());
statement.setString(3, bean.getDescription());
statement.setString(4, bean.getDeadline());
int affectedRow = statement.executeUpdate();
if(affectedRow == 1) return "Success";
} catch (SQLException e)
{
} finally{
}
注意bean是参数
【问题讨论】:
-
定义“似乎不起作用”。您期望会发生什么(以及为什么)以及会发生什么?
-
我正在尝试使用准备好的语句将新记录添加到名为 EDMSDATABASE.MESSAGE 的表中。但它不起作用。见代码 sn-p。
-
您必须指定参数(标题、主题等)才能工作。阅读
setInt(),setString()and the rest。另外,你必须执行它。 -
您似乎从未真正执行过该语句。
-
查看更新后的代码sn-p