站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题批量修改问题 100分在线等待

批量修改问题 100分在线等待

摘要: 批量修改问题 100分在线等待


如何批量修改 添加 删除 在JSP上操作 希望给出代码事例来看看


跟普通的修改不一样吗,只是提交的时候传值比以前多了几条,你只要会一条记录的添加删除修改就可以了呀


这是我批量修改的代码:
/**
* 業務処理を起動する
* @throws BizException
* @author zuochuanmin
* @version 1.0
*/
protected void businessProcess() throws BizException, FemesDBException{

// 計画データリストを取得する
PlanDataList dataList = sessionBean.getDatabean();

//選択の行番号
String numbers = OutBean.printString((String) facesContext.getExternalContext()
.getRequestParameterMap().get("numbers"));
// modify by yanghengzhi at 2006/04/20 begin
String rowNums = OutBean.printString((String) facesContext.getExternalContext()
.getRequestParameterMap().get("rowNums"));

//更新データの取得
String[] begindate = sessionBean.getStartDate();//計画開始日時
String[] enddate = sessionBean.getEndDate();//計画終了日時
String[] pinId = sessionBean.getPinId();//品目ID
String[] recId = sessionBean.getRecId();//レシピID

PlanMainBiz biz = new PlanMainBiz();
Map tmpmap = null;
int num = 0;//行番号
int rowNum = 0;
try{

if( numbers!=null && !numbers.equals("") ){
if( numbers.indexOf(",")!=-1 ){
String[] str = numbers.split(",");
String[] rows = rowNums.split(",");
int len = str.length;
for( int i=0;itmpmap = new HashMap();
num = Integer.parseInt( str[i] ) ;
rowNum = Integer.parseInt( rows[i] ) ;
tmpmap.put( "ksdate",dataList.getKsdate()[ num ] );
tmpmap.put( "tablename",dataList.getPlantable()[num] );
tmpmap.put( "plangroup_id",dataList.getPlanGroup()[num] );
tmpmap.put( "planmng_no",dataList.getPlanAdminNo()[num] );

//データが他人に改正されるかどうかを判断する
if( !biz.dataModify( connection ,tmpmap) ){

//データが変化が発生するかどうかを判断する
if( !dataList.getBeginDate()[num].equals( begindate[rowNum] ) ||
!dataList.getEndDate()[num].equals( enddate[rowNum] ) ||
!dataList.getPinId()[num].equals( pinId[rowNum] ) ||
!dataList.getRecId()[num].equals( recId[rowNum] )
){

//データ更新開始
//Modify by zuochuanmin at 2006/04/17 begin
begindate[rowNum] = DataCheck.changeDate(begindate[rowNum]);
enddate[rowNum] = DataCheck.changeDate(enddate[rowNum]);
//Modify by zuochuanmin at 2006/04/17 end

tmpmap.put( "begindate",begindate[rowNum].substring(0,10) + " " + begindate[rowNum].substring(11) );
tmpmap.put( "enddate",enddate[rowNum].substring(0,10) + " " + enddate[rowNum].substring(11) );
tmpmap.put( "pinId",pinId[rowNum] );
tmpmap.put( "recId",recId[rowNum] );
tmpmap.put("userid",userinfo.getUserID() );
biz.planTableUpdate(connection ,tmpmap,dataList.getPlantable()[num]);

}
}
}
connection.commit();
}else{
num = Integer.parseInt( numbers );
rowNum = Integer.parseInt( rowNums ) ;
tmpmap = new HashMap();
tmpmap.put( "ksdate",dataList.getKsdate()[num] );
tmpmap.put( "tablename",dataList.getPlantable()[num] );
tmpmap.put( "plangroup_id",dataList.getPlanGroup()[num] );
tmpmap.put( "planmng_no",dataList.getPlanAdminNo()[num] );

//データが他人に改正されるかどうかを判断する
if( !biz.dataModify( connection ,tmpmap) ){

//データが変化が発生するかどうかを判断する
if( !dataList.getBeginDate()[num].equals( begindate[rowNum] ) ||
!dataList.getEndDate()[num].equals( enddate[rowNum] ) ||
!dataList.getPinId()[num].equals( pinId[rowNum] ) ||
!dataList.getRecId()[num].equals( recId[rowNum] )
){

//データ更新開始
//Modify by zuochuanmin at 2006/04/17 begin
begindate[rowNum] = DataCheck.changeDate(begindate[rowNum]);
enddate[rowNum] = DataCheck.changeDate(enddate[rowNum]);
//Modify by zuochuanmin at 2006/04/17 end

tmpmap.put( "begindate",begindate[rowNum].substring(0,10) + " " + begindate[rowNum].substring(11) );
tmpmap.put( "enddate",enddate[rowNum].substring(0,10) + " " + enddate[rowNum].substring(11) );
tmpmap.put( "pinId",pinId[rowNum] );
tmpmap.put( "recId",recId[rowNum] );
tmpmap.put("userid",userinfo.getUserID() );
biz.planTableUpdate(connection ,tmpmap,dataList.getPlantable()[num]);
}
}else{
throw new BizException();
}
// modify by yanghengzhi at 2006/04/20 end
connection.commit();
}
}
}catch(FemesDBSelectException e) {
//DB異常 Select失敗
logger.error(logger.KIN_PLAN,"PLAN_MAIN","DTL_DB_UPDATE_ERR",e);
MessageShower.show(facesContext,"ERR_DB_UPDATE");
throw new BizException();
}catch (FemesDBException e) {
try{
connection.rollback();
logger.error(logger.KIN_PLAN,"PLAN_MAIN","DTL_DB_UPDATE_ERR",e);
MessageShower.show(facesContext,"ERR_DB_UPDATE");
}catch(SQLException e1){

}
throw e;
}catch(Exception e){
logger.exception(logger.KIN_PLAN,"PLAN_MAIN","DTL_DB_UPDATE_ERR",e);
MessageShower.show(facesContext,"ERR_DB_UPDATE");
throw new FemesDBException(e);
}finally{
planShowList = sessionBean.getShowBean();
}

MessageShower.show(facesContext,"ENDING_OK");
logger.info(logger.KIN_PLAN,"PLAN_MAIN","DTL_PLAN_MAIN_UPDATE_END_INF");
}
}


批量删除就简单了呀,在前台选择需要修改的记录,把他们的ID传入后台,到数据库删除这些记录就可以了呀,有什么困难吗.


获得一堆你要操作的ID 一条条执行就是了!


update xxx set xxx='xxx' where xx like 'xx%'
你只要筛选出来的纪录是多条,他就是批量修改


对呀,就这样,大家说的都正确;


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>

无标题文档