我用jsp写的页面中有一列一列的记录,每条记录后面都对应着一个“删除”,如何写这个“删除”,使一点击这个“删除”就可以直接从数据库中删除这条记录,同时刷新这个页面?

解决方案 »

  1.   

    点击“删除”后将标示该行的字段(可以是主键)传到后台,根据该字段做删除操作,之后再查询,将查询结果返回给页面进行显示可以用ajax做无刷新删除
      

  2.   

    写一个jsp 页面用于删除 如 d.jsp
    本来的页面 如show.jsp, 点删除后,转到d.jsp(同时把要删的东西信息传过去), 里面进行数据库
    的删除操作,最后再 转回show.jsp注意d.jsp必须不能直接访问(即在url中直接输入d.jsp的路径和参数),否则谁都可以删了,这可以通过session来限制,判断是否已登录
      

  3.   

    删除按纽绑定一个ID,在后台通过ID删除对应就搞定了,删除功能是很简单的
      

  4.   

    一般删除绑定一个id,把id传递过去,用sql语句删除这条记录。
      

  5.   

    点击删除记录时,传递该记录的id,通过id删除记录,然后再转到当前界面~~~
      

  6.   

    LZ提出的问题过于基础,我相信LS几位的答案依然不能帮楼主解惑,LZ先整基础书吧
      

  7.   

    嗯,传个 ID 过去就可以了,不过再删除之前需要对这个 ID 进行严格的检查,以防别人乱删掉数据。
      

  8.   

    在删除连接上使用history.go(-0);就可以刷新当前页面,删除记录需要传递一个数据的主键值(一般为id),
      

  9.   

    主键ID对应一条数据,通过主键ID找到相应数据进行删除然后进方法重新查找数据然后显示,你现在需要的是看看这方面的知识,给你的删除链接加上对应的id参数在通过方法删除对应数据
      

  10.   

    获取该记录对应的id,传到后台在数据库中delete掉该记录后再返回到这个页面。#11楼说了,要仔细检查这个id是不是你要删的,不要搞错了啊
      

  11.   

    传个id过去,用sql语句直接就删了还有看你的dao层是用JDBC还是Hibernate实现的,因为这两种方式的sql语句有点不同
      

  12.   

    用A标签绑定主建ID 
     传回本页面,  删除功能应该很简单就写好了
      

  13.   

    可以通过ID来删除,你在删除链接上把ID传到后台然后通过ID来删除一条记录。重新刷新页面要用Response.Redirect()这样就会重新发送一次请求刷新页面。这样就可以实现你点删除冒一个字段刷新一下页面的效果,也用不到Ajax。
      

  14.   

    传个ID到后台,然后根据ID删除就行啦
      

  15.   

    把id传过去啊
    uri?id = "sql_id"
    再在你的业务逻辑层里面根据它删除指定的数据就好了
      

  16.   

    <%@ page contentType="text/html;charset=GBK" %> 
    <%@ page language="java" import="java.sql.*" %> 
    <head>
    <link rel="stylesheet" type="text/css" href="../css.css" />
    </head>
    <center>
    <table width=100%><tr><td align=center valign=top>
    <script language="javascript"> function chec(){
    var i;
    var f=0;
    for(i=0;i<document.mysel.elements.length-1;i++){
    if(document.mysel.selectcheck[i].checked==true){
         f=f+1;
        }
    }
    alert("请选择要删除的条目!");
    alert(f);
    document.mysel.submit();}
    function allselect(){
    var i;
    if(document.mysel.temp.checked){
      for(i=0;i<document.mysel.elements.length-1;i++){
        document.mysel.selectcheck[i].checked=true;
      }
    }else
    {
      for(i=0;i<document.mysel.elements.length-1;i++){
        document.mysel.selectcheck[i].checked=false;
      }}
    }
    function newwin(url) { 
    var newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=yes,width=600,height=450"); 
    newwin.focus(); 
    return false; 

    </script> 
    <script LANGUAGE="javascript"> 
    function submit10() 

    self.location.replace("fenye1.jsp") 

    </script> 
    <%
    java.sql.Connection sqlCon; 
    java.sql.Statement sqlStmt; 
    java.sql.ResultSet sqlRst;
    java.lang.String strCon; 
    java.lang.String strSQL; 
    int intPageSize;
    int intRowCount;  
    int intPageCount;
    int intPage; 
    java.lang.String strPage; 
    int i; 
    intPageSize = 20; 
    strPage = request.getParameter("page"); 
    if(strPage==null){
    intPage = 1; 

    else{
    intPage = java.lang.Integer.parseInt(strPage); 
    if(intPage<1) intPage = 1; 

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    strCon ="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/database/winnetdata.mdb"); 
    sqlCon = java.sql.DriverManager.getConnection(strCon); 
    sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句 
    strSQL = "select doc_id,doc_title,doc_kind,doc_origin,doc_releasedate from winet_technologydoc order by doc_id desc"; 
    sqlRst = sqlStmt.executeQuery(strSQL); 
    sqlRst.last();
    intRowCount = sqlRst.getRow();
    intPageCount = (intRowCount+intPageSize-1) / intPageSize; 
    if(intPage>intPageCount) intPage = intPageCount; 
    %> 
    <table border=1" cellspacing="0" cellpadding="0" width=100%> 
    <form name="mysel" method="post" action="itdoc_alldelete.jsp">
    <tr> 
    <td align="left" colspan="8" bgcolor="#A4B6D7"></td></tr> 
    <tr> 
    <td align="center" bgcolor="A4B6D7"><input type="checkbox" name="temp" onclick="allselect()">全选<br/><input type=submit value="删除"></td>
    <td align="center" bgcolor="A4B6D7">内部编号</td>
    <td align="center" bgcolor="A4B6D7">标题</td>  
    <td align="center" bgcolor="A4B6D7">类型</td> 
    <td align="center" bgcolor="A4B6D7">来源</td>
    <td align="center" bgcolor="A4B6D7">日期</td>
    <td align="center" bgcolor="A4B6D7">修改</td>
    <td align="center" bgcolor="A4B6D7">删除</td> 
    </tr> 
    <% 
    if(intPageCount>0){ 
    sqlRst.absolute((intPage-1) * intPageSize + 1); 
    i = 0; 
    int j=1;
    String tcolor=null;
    String id,pname,pkind,pprice,pimages,pdoc,pforwho; 
    while(i<intPageSize && !sqlRst.isAfterLast()){ 
    j=j*-1;
    if(j==1) 
     tcolor="#EBECF3";
    else
     tcolor="#ffffff";
     
     
    id=sqlRst.getString(1); 
    pname=sqlRst.getString(2); 
    pkind=sqlRst.getString(3);
    pforwho=sqlRst.getString(4);
    pprice=sqlRst.getString(5);
    %> 
    <tr> 
    <td bgcolor=<%=tcolor%>><input type="checkbox" name="selectcheck" value=<%=id%>></td> 
    <td bgcolor=<%=tcolor%>><%=id%></td> 
    <td bgcolor=<%=tcolor%>><%=pname%></td> 
    <td bgcolor=<%=tcolor%>><%=pkind%></td> 
    <td bgcolor=<%=tcolor%>><%=pforwho%></td> 
    <td bgcolor=<%=tcolor%>><%=pprice%></td>
    <td bgcolor=<%=tcolor%>><a target=rbottom href="itdoc_modify_pro.jsp?docID=<%=id%>" align="center">修改</a></td> 
    <td bgcolor=<%=tcolor%>><a target=rbottom href="itdoc_do_delete.jsp?docID=<%=id%>" align="center">删除</a></td> 
    </tr> <% 
    sqlRst.next(); 
    i++; 


    %> 
    </form>
    </table> 
    <form method="POST" action="itdoc_manage.jsp"> 
    第<%=intPage%>页 共<%=intPageCount%>页 
    <%if(intPage>1){%><a href="itdoc_manage.jsp?page=<%=intPage-1%>"> 上一页</a><%}%> <%if(intPage<intPageCount){%><a href="itdoc_manage.jsp?page=<%=intPage+1%>">下一页 </a><%}%> 
    转到第:
    <select name="page">
    <%for(int sm=1;sm<=intPageCount;sm++){%>
    <option value=<%=sm%>><%=sm%></option>
    <%}%>
    </select> 页 
    <span><input class=buttonface type=submit value=GO name=cndok></span> 
    </form>
    <% 
    sqlRst.close(); 
    sqlStmt.close(); 
    sqlCon.close(); 
    %></td></tr></table>
    </center>
    //每行末尾显示修改、删除等按钮
    //ITDOC_DO_DELETE.JSP
    <%@ page import="java.sql.*"%>
    <head>
    <link rel="stylesheet" type="text/css" href="../css.css" />
    </head>
    <%! int all,i,m_count; 
    String odbcQuery;  
    %>
    <%
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
       String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("./database/winnetdata.mdb");
       Connection odbcconn=DriverManager.getConnection(url); 
       Statement odbcstmt=odbcconn.createStatement(); 
       odbcQuery="delete From winet_technologydoc where doc_id="+request.getParameter("docID"); 
       odbcstmt.executeUpdate(odbcQuery); 
       
      out.println("<table width=100% align=center><tr><td idth=100% align=center>已删除&nbsp;<A href=itdoc_manage.jsp>返回</A></td></tr></table>");odbcstmt.close(); 
    odbcconn.close(); 
    %>//通过ID调用ITDOC_DO_DELETE.JSP的删除功能。
      

  17.   

    把主键传到后台,在用sql语句删除就好了呀
      

  18.   

    根据ID 就可以删除 如果你用的是jsp那就用servlet做吧 可以跳回本页面就可以刷新了
      

  19.   

    通过jsp传一个ID,当然了,这个ID是和这条记录在数据库里存的ID对应的,把ID传到后台,通过sql删掉
    再通过查询那个方法回到页面就相当于刷新了。
      

  20.   

      
            点击“删除”绑定一个id(主键),把id传递到后台实现类里用sql语句删除这条记录。