jsp批量修改数据库

做宿舍管理系统时,我想输入宿舍卫生分数,想批量输入,例如01宿舍:02宿舍:03宿舍:·······然后一个提交按钮,怎么把分数更新到卫生表对应宿舍的位置卫生表:宿舍号,... 做宿舍管理系统时,我想输入宿舍卫生分数,想批量输入,例如 01宿舍: 02宿舍: 03宿舍:·······然后一个提交按钮,怎么把分数更新到卫生表对应宿舍的位置
卫生表:宿舍号,分数
要详细代码,非常感谢
展开
 我来答
_张少
2011-06-02 · TA获得超过103个赞
知道答主
回答量:55
采纳率:0%
帮助的人:65.5万
展开全部
其实这个要是你不嫌麻烦的话倒是可以一条一条的更新 如果你想要简单一点呢 我倒有个办法
你这个语句最好做成更新 如果做成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;i<sushe.length;i++){
int num=0;
pre.setInt(1, score[i]);
pre.setString(2,sushe[i])
num=pre.executeUpdate();
if( num>0){
allnum++;
}
}
if(num==sushe.length){
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}

}
更多追问追答
追问
不好意思啊,数组传值也不会,传不过去
jsp页面:
String[] sushehao==request.getParameterValues("sushehaolist.get(i).getSushehao()");
String[] score=request.getParameterValues("score");
db16.updateWeisheng(score,sushehao);(这句话是不是有错啊)
java类:
public boolean updateWeisheng(String[] score,String[] sushehao){········}
谢谢
追答
在你的JSP页面里 只负责输入数据 也就是只要一个form表单 加input 表单元素 

001宿舍:
得分:
002宿舍:
得分:
003宿舍:
得分:
然后在doform 里面接受参数 并检查是否更新成功

081251150
2011-06-02
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
<input type= "text" name= "score ">
<input type= "text" name= "score ">
<input type= "text" name= "score ">

jsp:
String[] scores = request.getParameterValues( "score");
更多追问追答
追问
sql语句怎么写呢?
String sql="update t_weisheng set score=? where sushehao=?";
pstat=conn.prepareStatement(sql);
pstat.setString(1,scores[]);
pstat.setString(1,sushehao);
flag=pstat.executeUpdate();
这样不对吧,怎么给score赋值呢,用循环吗?还是用事务处理?谢谢
追答
String[]   scores   =   request.getParameterValues( "score"); 
String[] sushehaos = request.getParameterValues( "sushehao");
String sql="update t_weisheng set score=? where sushehao=?";
pstat=conn.prepareStatement(sql);
for(int i=0;i<scores.length;i++){
pstat.setString(1,scores[i]);
pstat.setString(2,sushehaos[i]);
pstat.addBatch();
}
pstat.executeBatch();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
inlookme
2011-06-03 · TA获得超过1150个赞
知道小有建树答主
回答量:762
采纳率:0%
帮助的人:716万
展开全部
update 卫生表 set 分数=60 where 宿舍号 in (01宿舍,02宿舍,03宿舍);
追问
我想要实现的是不同的宿舍不同的值 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式