Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 仅更新第一行的JDBC表_Jsp_Jdbc - Fatal编程技术网

Jsp 仅更新第一行的JDBC表

Jsp 仅更新第一行的JDBC表,jsp,jdbc,Jsp,Jdbc,嗨,当我试图更新一个jdbc表时,只有下面第一行更新了它的代码。虽然我每行都有一个单独的按钮,但我单击的任何按钮都将输入值作为第一行的值 <tr> <td><%=rs.getString("DBID")%></td> <td><input type="text" name="prev" id="prev" value="<%=rs.getString("Query_Raised")

嗨,当我试图更新一个jdbc表时,只有下面第一行更新了它的代码。虽然我每行都有一个单独的按钮,但我单击的任何按钮都将输入值作为第一行的值

<tr>
           <td><%=rs.getString("DBID")%></td>
           <td><input type="text" name="prev" id="prev" value="<%=rs.getString("Query_Raised")%>" border=''></td>
           <td><%=rs.getString("TR")%> </td>
           <td><%=rs.getString("Query_Answered")%></td>
           <td><%=rs.getString("TA")%></td>
           <td><input type="submit" value="Edit">
       </tr>

为了比较,我使用了下面的(where条件),它也只取第一行的值

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body><form method="post" action="Up_Query_DB.jsp">
        <table><tr><td> <input type="text" id="xyz" name="xyz" value="<%=request.getParameter("prev")%>"></td></tr>
            <tr><td><INPUT TYPE="TEXT" NAME="updat" id="updat"></td></tr>
            <tr><td><input type="submit" value="Update"></td></tr></table></form>
</body>

JSP页面

我使用的更新是

<% try
                 {
   String sc=request.getParameter("xyz");
   String upd=request.getParameter("updat");
   ps=con.prepareStatement("Update Scope1 Set Query_Raised='"+upd+"' where Query_Raised='"+sc+"'");
   int i=ps.executeUpdate();
   if(i==1)
                 {
       String redirectURL= "View Queries.jsp";
       response.sendRedirect(redirectURL);

   }
         else{
       out.print("Erro");
         }
 }
   catch(Exception e)
                   {
    out.println("error");

   }%>

谢谢

1)它有助于编写有效的HTML

2) 即使您每行都有一个编辑按钮,您也无法知道在提交表单时实际按下了哪些按钮-它们都是相同的。
实现多行编辑最常用的方法是为每一行使用单独的表单。除非您希望能够编辑多行,然后一次提交所有更改,否则您需要通过为数据输入字段指定唯一的名称来区分行的数据

稍后编辑:
3) 基于要更改的值更新表行是个坏主意,原因有很多,其中一个原因是查询可能会更新您不知道甚至不存在的行

<tr>
<form ... >
<td> <input type="hidden" name="recordID" value="%dynamicRecordIDFromYourDB%" /> </td>
...
<td> <input type="text" name="data" value="%updatableDataFromYourDB" />
<td> <input type="submit" ... />
</form>
</tr>
1) 它有助于编写有效的HTML

2) 即使您每行都有一个编辑按钮,您也无法知道在提交表单时实际按下了哪些按钮-它们都是相同的。
实现多行编辑最常用的方法是为每一行使用单独的表单。除非您希望能够编辑多行,然后一次提交所有更改,否则您需要通过为数据输入字段指定唯一的名称来区分行的数据

稍后编辑:
3) 基于要更改的值更新表行是个坏主意,原因有很多,其中一个原因是查询可能会更新您不知道甚至不存在的行

<tr>
<form ... >
<td> <input type="hidden" name="recordID" value="%dynamicRecordIDFromYourDB%" /> </td>
...
<td> <input type="text" name="data" value="%updatableDataFromYourDB" />
<td> <input type="submit" ... />
</form>
</tr>

你好,阿灵顿,谢谢你的回答,如果你不介意的话,请编辑我上面的代码并显示出来。请谢谢,请不要等待我们为您编写完整的代码-您将等待很长时间。谢谢代码,但我的代码在1行中运行良好,正如您所说,我应该使用多个表单,请帮助我如何操作?谢谢你没有注意到在我的版本中,表单在单独的行中吗?这样做的效果是,只有来自该行的数据才会提交到表单处理页面。这样,不同的行不需要具有唯一的字段名。如果您希望能够编辑多行并同时提交所有更改,则需要为每行提供唯一的字段名(最常见的方法是在每个字段名后面添加recordID)。好的,谢谢您,很抱歉没有注意到这一点。但是在我的IDE(NetBeans)中,它说表单不能是hi Arlington的孩子,谢谢你的回答,如果你不介意的话,请编辑我上面的代码并显示。请谢谢,请不要等待我们为您编写完整的代码-您将等待很长时间。谢谢代码,但我的代码在1行中运行良好,正如您所说,我应该使用多个表单,请帮助我如何操作?谢谢你没有注意到在我的版本中,表单在单独的行中吗?这样做的效果是,只有来自该行的数据才会提交到表单处理页面。这样,不同的行不需要具有唯一的字段名。如果您希望能够编辑多行并同时提交所有更改,则需要为每行提供唯一的字段名(最常见的方法是在每个字段名后面添加recordID)。好的,谢谢您,很抱歉没有注意到这一点。但在我的IDE(NetBeans)中,它说表单不能是Hi Rakesh的孩子,我很遗憾您没有重新考虑将JDBC代码放入JSP的想法。我已经在你的
s
上没有
id
属性了。如果您现在为所有这些代码添加相同的id,那就没用了……嗨,Rakesh,我很遗憾您没有重新考虑将JDBC代码放入JSP的想法。我已经在你的
s
上没有
id
属性了。如果您现在为所有用户添加相同的id,则没有任何帮助。。。