普通润乾报表删除数据实现

删除数据时,需要通过JS函数来传递参数删除。

步骤如下:

①  在raq文件中添加一列:操作-删除

②  在删除单元格设置超链接

"javascript:delData_jade('econrespList.jsp','ECONRESP','UUID','"+A3+"')"

第一个参数是执行删除语句后跳转的页面
第二个参数是某一张数据库表
第三个参数是数据库表的某一个字段
第四个参数是某一个字段的值 在页面中 便是A3单元格的数据了

超链接:设置超链接页面/超链接函数

超链接窗口:若是设置为_self则为在本窗口跳转/设置为_blank则为在新窗口中打开

③  在包含[引用]该raq文件的页面中定义该JS函数,设置处理页面

<script language="javascript">
function delData_jade(refreshUrl,table,column,value){
 if( table==null || table=='' ){
  alert("删除数据表为空,请联系系统管理员");
  return;
 }
 if( refreshUrl==null || refreshUrl==''){
  alert("刷新url为空,请联系系统管理员");
  return;
 }
 if( column==null || column==''){
  alert("无法删除数据,请联系系统管理员");
  return;
 }
 if( value==null || value==''){
  alert("当前页面无数据删除!");
  return;
 }
 if( confirm('确认删除吗?') ){
  window.location.href = "/newmodules/pages/reportJsp/deleteusejs.jsp?refreshUrl="+refreshUrl+"&table="+table+"&column="+column+"&value="+value;
 }
}
</script>

④ 编写处理页面deleteusejs.jsp【含JDBC】处理删除操作

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="javax.naming.*,java.sql.*" %>
<%@ page import="com.runqian.report4.usermodel.*"%>

<%

//获取各参数值
String tableName1=request.getParameter("table");
String colmn1=request.getParameter("column");
String value1=(String)request.getParameter("value");
String refreshUrl = request.getParameter("refreshUrl");

Connection con = null;
Statement stmt = null;

try{
//获取context对象
com.runqian.report4.usermodel.Context ct = new com.runqian.report4.usermodel.Context();
con = ct.getConnectionFactory( ct.getDefDataSourceName() ).getConnection();
stmt = con.createStatement();
if((tableName1!=null || tableName1!="") && (colmn1!=null || colmn1!="" ) && ( value1!=null || value1!="") ){
//定义删除sql语句
String sql= "delete from "+tableName1+" where "+colmn1+"="+value1;
//执行sql语句
stmt.executeUpdate(sql);
}
//提交
con.commit();
//重定向url
response.sendRedirect(refreshUrl);
}catch(Exception e){
e.printStackTrace();
}finally{
//关闭流
if( stmt != null ) stmt.close();
if( con != null ) con.close();
}
%>

 


 

posted @ 2013-01-08 15:54  Aviva_ye  阅读(547)  评论(0编辑  收藏  举报