java - 如何在我的jsp中使用update语句

标签 java jsp jdbc

我的 jsp 中有一个更新语句。问题是,当我更改jsp中的整个字段并执行更新语句时,数据库将被更新,但是当我更新某个字段时,其他字段将在SQL语句中为“”。另外,我遇​​到的问题是日期不匹配,所以在我的 jsp 中的 SQL 语句中应用的最佳格式是什么。

对于第一个问题: HTML 代码:

<select size="1" name="Nationality" class="content">
        <option selected value="<%=Nationality%>"><%=Nationality%></option>

<%

     try
     {

        ResultSet rs=null;

        Statement st1=null;

        String query = "select country_code, nationality_name from nationality_lkup ";

        st1 = conn1.createStatement();

        rs = st1.executeQuery(query);

        while(rs.next())    
    {

%>
    <option value="<%=rs.getString("country_code")%>" >
        <%=rs.getString("nationality_name")%></option>
<%
        }

    }
    catch (Exception e) {
      e.printStackTrace();
    }
%>

            </select>

更新语句为:

String  sz_SQLUpdate = "UPDATE cir SET";
z_SQLUpdate = sz_SQLUpdate  + " , nationality ='"+Nationality+"'";

另外,更新语句中的日期格式如何处理?

最佳答案

but when I am updating a certain field, the other fields will be "" in the SQL statement.

我不确定这是否是完整的代码(到目前为止显示的 SQL 在执行时会产生 SQL 语法异常),但您至少不应该在 SET 和第一列名称。

如果 SQL 实际上在语法上是有效的,那么它可能只是意味着当您在 SQL 语句中内联访问这些变量时它们是空的。您应该预先填充这些变量,或者如果不需要更新相关列,则将其远离 SQL 查询。

Also, I am having a problem is that I am having a miss match in the date, so what is the best format to be applied in the SQL statement in my jsp.

最好的方法是不用担心格式,只需使用 PreparedStatement#setTimestamp() 设置一个代表 SQL 语句中时间戳的完整 Java 对象即可。 。另请参阅此 recent question .

<小时/>

也就是说,代码中有两个主要问题。

  1. 应避免 JSP 文件中的原始 Java 代码。它只会给你带来各种麻烦,不仅对你,而且对别人,现在和将来。

  2. 此 SQL 对 SQL injection 敏感attacks而且JDBC代码容易出现资源泄漏。

解释如何正确做事将是一个很长的故事,因此这里只是一些链接,您可以仔细浏览,以便您了解如何正确做事。

您可能应该扔掉您当前正在阅读的老式 JSP 教程/书籍。

关于java - 如何在我的jsp中使用update语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3330787/

相关文章:

java - 在单行上显示多个变量?

java - 除了缓存指令之外,解释器生成的 native 代码和 JIT 之间有什么区别吗?

jquery - 将数据传递到 Bootstrap 模式

java - 在 Groovy 中获取正确版本的 Oracle 驱动程序

java - 将Java连接到MySQL数据库

jsp - 使用 SQLServerXADataSource 的连接池

java - 无法在 struts2 上启动我的第一个应用程序

java - 我应该创建一个 Map 对象并在各处引用它,还是在每次需要时实例化它?

java - JSP - 如何获得以毫秒为单位不断更新的时间

javascript - 包含更高目录中的 Javascript 文件