gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:50:48 35 4
gpt4 key购买 nike

我的 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/

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