<table> <tr><td>pid:</td><td><input type="text" name="pid"> </td></tr> <tr><td>pname:</td><td><input type="text" name="pname"> </td></tr> <tr><td>shop_price:</td><td><input type="text" name="shop_price"> </td></tr> <tr><td>cname:</td><td><input type="text" name="cname"> </td></tr> <tr><td>pimage:</td><td><input type="file" name="pimage"> </td></tr> <tr><td colspan="2"><input type="submit" value="添加商品"></td></tr> </table>通过前端输入这些数据,点击添加商品后将输入的数据插入数据库的products表里,同时回到showAllPoducts.jsp页面展示输入的商品信息的数据,商品pid不能重复输入,它是products表的主键的代码
时间: 2023-07-09 19:37:48 浏览: 89
表格(TABLE)标记---HTML教程大全
下面是一个示例代码,实现了前端输入数据并插入数据库表的操作,同时也实现了商品pid不能重复输入的限制,并且回到 showAllProducts.jsp 页面展示输入的商品信息数据。
```
<%
String pid = request.getParameter("pid");
String pname = request.getParameter("pname");
String shop_price = request.getParameter("shop_price");
String cname = request.getParameter("cname");
String pimage = request.getParameter("pimage");
// 检查pid是否已存在
boolean pidExists = false;
try {
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM products WHERE pid = ?");
pstmt.setString(1, pid);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
pidExists = true;
}
rs.close();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 如果pid已存在,则返回错误信息
if (pidExists) {
out.print("Error: pid already exists");
} else {
// 如果pid不存在,则插入数据到数据库表中
try {
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO products (pid, pname, shop_price, cname, pimage) VALUES (?, ?, ?, ?, ?)");
pstmt.setString(1, pid);
pstmt.setString(2, pname);
pstmt.setString(3, shop_price);
pstmt.setString(4, cname);
pstmt.setString(5, pimage);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 返回 showAllProducts.jsp 页面,并展示输入的商品信息的数据
response.sendRedirect("showAllProducts.jsp");
}
%>
```
请注意,上述代码并不完整,需要根据具体的项目需求进行适当的修改和调整。同时,为了确保数据安全,需要对用户输入的数据进行校验和过滤,以防止 SQL 注入等安全问题。
阅读全文