【问题标题】:Update record in database to be equal to user input with JDBC? [closed]更新数据库中的记录以等于使用 JDBC 的用户输入? [关闭]
【发布时间】:2015-01-06 08:01:53
【问题描述】:

我有一个 JSP 页面,用户从下拉列表中选择一个事件,然后在两个文本框中输入开始日期和结束日期。

我有一个 oracle 数据库来存储数据。我将如何设置更新语句来查看从下拉列表中选择的事件,然后将该事件的开始日期和结束日期更新为等于用户输入?

基本上,我将如何创建更新语句来完成以下结果?

update = "UPDATE event_times SET start_date = '(user input in start date box)' WHERE event_id = (event selected from drop down)";
update = "UPDATE event_times SET end_date = '(user input in end date box)' WHERE event_id = (see above)";

【问题讨论】:

  • 告诉我们你到目前为止做了什么以及你面临什么问题......
  • 当我试图复制我的一些代码时,窗口中的格式被弄乱了,所以我复制了大部分。我可以建立数据库连接,但是在更新开始日期和结束日期时遇到问题。就像现在一样,我从下拉菜单中选择一个事件(春季、一月夏季等)。然后我在文本框中输入事件的开始日期和结束日期。我想更新记录以反映这些开始和结束日期。
  • @BobSmitherson 当您有更多信息而不是发布 cmets 时更新问题本身。请注意左侧问题下方的“编辑”链接(如果使用网络浏览器查看此链接)。但不要改变问题的性质。
  • 顺便说一下,对于使用下拉列表(弹出菜单)在使用 Java 构建的 Web 应用程序中的数据库中输入行的完全不同的方式,请参阅my Answer这个另一个问题,使用Vaadin 框架。

标签: java mysql oracle jdbc


【解决方案1】:

当您可以使用单个查询执行相同操作时,为什么要使用两个更新查询

假设您选择的开始日期 = 2014 年 11 月 1 日

选定的结束日期 = 2014 年 11 月 30 日

选定的事件 id = 10 那么您的查询将看起来像这样

Oracle 查询:

UPDATE event_times SET 
start_date = TO_DATE('2014/11/01 00:00:00', 'yyyy/mm/dd hh24:mi:ss'), 
end_date = TO_DATE('2014/11/30 00:00:00', 'yyyy/mm/dd hh24:mi:ss') 
WHERE event_id = 10;

MySQL 查询:

UPDATE event_times SET 
start_date = '2014-11-01', 
end_date = '2014-11-30' 
WHERE event_id = 10;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多