JSP页面修改数据库记录
答案:2 悬赏:70 手机版
解决时间 2021-02-12 04:44
- 提问者网友:寂寞撕碎了回忆
- 2021-02-11 12:55
我想在JSP页面上修改数据库记录,前提是我把要修改的某条记录以表格显示出来,但是修改某个(些)字段值(不知道具体是哪一个或哪几个字段)后要怎么提交?是不是要全部重新提取后提交更新?各位前辈给个意见
最佳答案
- 五星知识达人网友:长青诗
- 2021-02-11 13:58
jsp页面的更新操作是通过传递id参数后台update数据库记录实现的。
举例说明:
更新页面update.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.Product" %>
<%@ page import="com.ProductDao" %>
<%
List list=new ArrayList();
ProductDao pdao=new ProductDao();
list=pdao.getUserList();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<table width="500">
<tr>
<td>
商品编号
</td>
<td>
商品名称
</td>
<td>
商品价格
</td>
</tr>
<%
Product pro=null;
for(int i=0;i<list.size();i++)
{
pro=(Product)list.get(i);
%>
<tr>
<td>
<%=pro.getProduct_id() %>
</td>
<td>
<%=pro.getProduct_name() %>
</td>
<td>
<%=pro.getProduct_price() %>
</td>
<td width="100">
<font size="2" color="blue"><a href="update_ope.jsp?product_id=<%=pro.getProduct_id() %>">修改</a></font>
</td>
</tr>
<%
}
%>
</table>
</body>
</html>
后台更新数据操作:
if(kind.equalsIgnoreCase("update")){
Product pro = new Product();
pro.setProduct_id(request.getParameter("product_id"));
pro.setProduct_name(Change.changetoString(request.getParameter("product_name")));
pro.setProduct_price(Float.valueOf(request.getParameter("product_price")));
ProductDao pdao = new ProductDao();
pdao.update(pro);
response.sendRedirect("../fit/select.jsp");
}
举例说明:
更新页面update.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.Product" %>
<%@ page import="com.ProductDao" %>
<%
List list=new ArrayList();
ProductDao pdao=new ProductDao();
list=pdao.getUserList();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<table width="500">
<tr>
<td>
商品编号
</td>
<td>
商品名称
</td>
<td>
商品价格
</td>
</tr>
<%
Product pro=null;
for(int i=0;i<list.size();i++)
{
pro=(Product)list.get(i);
%>
<tr>
<td>
<%=pro.getProduct_id() %>
</td>
<td>
<%=pro.getProduct_name() %>
</td>
<td>
<%=pro.getProduct_price() %>
</td>
<td width="100">
<font size="2" color="blue"><a href="update_ope.jsp?product_id=<%=pro.getProduct_id() %>">修改</a></font>
</td>
</tr>
<%
}
%>
</table>
</body>
</html>
后台更新数据操作:
if(kind.equalsIgnoreCase("update")){
Product pro = new Product();
pro.setProduct_id(request.getParameter("product_id"));
pro.setProduct_name(Change.changetoString(request.getParameter("product_name")));
pro.setProduct_price(Float.valueOf(request.getParameter("product_price")));
ProductDao pdao = new ProductDao();
pdao.update(pro);
response.sendRedirect("../fit/select.jsp");
}
全部回答
- 1楼网友:鸽屿
- 2021-02-11 15:24
其实这个要是你不嫌麻烦的话倒是可以一条一条的更新 如果你想要简单一点呢 我倒有个办法
你这个语句最好做成更新 如果做成insert 的话就太浪费资源了 如果你要再加个时间列的话 那就变成 insert 合理啦 sushe ,score数组为你页面传过来的 怎么接收我想不用我写了吧
public boolean update(string[] sushe,int[] score){
connection con=this.getcon();
preparedstatement pre=null;
int allnum=0;
try {
pre=con.preparestatement("update t_score set score=? where sushehao=? ");
for(int i=0;i0){
allnum++;
}
}
if(num==sushe.length){
return true;
}
} catch (sqlexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
return false;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯