gpt4 book ai didi

java - 如何使用 Servlet 从 ArrayList 循环插入多个输入

转载 作者:行者123 更新时间:2023-11-29 14:16:43 27 4
gpt4 key购买 nike

在下面的代码中,我希望要求用户至少选择 1 个复选框,然后将该输入与输入的 Product_id 一起插入到两个不同的表中。所以我遇到的问题是从 view/jsp 页面和 servlet 中的查询语句传递多个 component_id

<%
List<Component> components = new ArrayList<Component>();
components = ComponentDb.selectComponents();
for (Component component : components) {
%>
<tr>
<td></td>
<td><input type="checkbox" name="component_id" value="
<%=component.getId()%>" required="required"><%=component.getName()%></td>
//here i have the end of form and stuff i doubt its necessary

我的 servlet 是(就这一点而言)

String query = "insert into Product         
(product_id,product_name,product_description,product_price) VALUES
('"+product_id+"','"+product_name+"','"+product_description+"','"+product_price+"');"+
"insert into PC(product_id,component_id) VALUES
("+product_id+","+component_id+")";
//kinda puzzled here on how to pass the values seperately
try {
ps = connection.prepareStatement(query);
int a = ps.executeUpdate(query);

谢谢

最佳答案

创建两条语句来逐个执行 INSERT 语句。

String query = "insert into Product (product_id,product_name,product_description,product_price) VALUES (?,?,?,?)";
ps=connection.prepareStatement(query);
ps.setInt(1,product_id);
...
ps.executeUpdate();

query="insert into PC(product_id,component_id) VALUES (?,?)";
ps=connection.prepareStatement(query);
String []component_ids=request.getParameterValues("component_id");
for(String componentID: components_ids){
ps.setString(1,product_id);
ps.setString(2,componentID);
ps.executeUpdate();
}

关于java - 如何使用 Servlet 从 ArrayList 循环插入多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12540299/

27 4 0