重新加载HTML表中的数据后,数据库条目中删除 [英] reload html table data after database entry deleted

查看:134
本文介绍了重新加载HTML表中的数据后,数据库条目中删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立采用asp经典的网页,并在每行的末尾填充MDB与删除按钮的HTML。当点击删除按钮的数据库条目被删除,但HTML表格不重装,反映数据的变化。我怎样才能做到这一点点击删除按钮的时候?这里是我的code:

 <%@ LANGUAGE = VBScript的%GT;
<%显式的选项%GT;<! - #包括虚拟=/ ADOVBS.INC - >< HTML>
<%
        昏暗objConn
        设置objConn =的Server.CreateObject(ADODB.Connection)
        objConn.ConnectionString =DRIVER = {Microsoft Access驱动程序(* .mdb)中}; &安培; DBQ = C:\\的Inetpub \\ wwwroot的\\ Scott1 \\ EmployeeDB.mdb        objConn.Open        昏暗objRS
        设置objRS =的Server.CreateObject(ADODB.RecordSet)        objRS.Open雇员,objConn,ADLOCKOPTIMISTIC,adCmdTable%GT;
< FORM METHOD = POST ACTION =Default.asp的>
<表>    &所述; TR>&下; TD>首先名称:其中; / TD>&下; TD>&下; INPUT TYPE = INPUT NAME =姓>&下; / TD>&下; / TR>
    < TR>< TD>姓氏:其中; / TD>< TD>< INPUT TYPE = INPUT NAME =姓氏>< / TD>< / TR>
    < TR>< TD>员工编号:LT; / TD>< TD>< INPUT TYPE = INPUT NAME =雇员>< / TD>< / TR>
    < TR>< TD>< INPUT TYPE =提交NAME = ADD VALUE =添加>< / TD>< / TR>
<%
    objRS.AddNew
    objRS(名字)=的Request.Form(名字)
    objRS(姓氏)=的Request.Form(姓氏)
    objRS(雇员)=的Request.Form(雇员)
    objRS.Update
%GT;< /表>
< / FORM>
< FORM METHOD = POST ACTION =Default.asp的>
< TABLE BORDER = 2 WIDTH = 500>    < TR BGCOLOR =#f8f8f8'>
        < TD>首先名称和LT; / TD>
        < TD>姓< / TD>
        < TD>员工ID< / TD>
        < TD>删除< / TD>
    < / TR><%    这样做虽然不objRS.EOF        回复于&所述; TR>&下; TD>中&安培; objRS(名字)及&所述; / TD>中
        回复于&所述; TD>中&安培; objRS(姓氏)及&所述; / TD>中
        回复于&所述; TD>中&安培; objRS(雇员)及&所述; / TD>中
        的Response.Write< TD>< INPUT TYPE =提交NAME =删除VALUE =删除>中&安培; objRS.Delete&安培; &所述; / TD>&下; / TR>中        objRS.MoveNext    循环    objRS.Close
    设置objRS =什么
    objConn.Close
    设置objConn =什么%GT;< /表>
< / FORM>
< / HTML>


解决方案

也许最简单的方法是给每个< TR> 基础上的id一个id当前记录,然后使用JavaScript来张贴到删除程序(这将在一个单独的ASP文件举行),然后通过改变的style.display 隐藏的行。

 < TR ID =行<%= RS(recordId所)%GT;>
    < TD> ...< / TD>
    < TD> ...< / TD>
    &所述; TD>
        <输入类型=按钮值=删除的OnClick =deleteRow(LT;%= RS(recordId所)%>);
    < / TD>
< / TR>

和JavaScript的可能是类似...

  VAR XMLHTTP;
如果(window.XMLHtt prequest)XMLHTTP =新XMLHtt prequest(); // code为IE7 +,火狐,Chrome,歌剧,Safari浏览器...
否则XMLHTTP =新的ActiveXObject(Microsoft.XMLHTTP); // code为IE6,IE5功能ajaxPage(postPage,paramList) {xmlhttp.open(\"POST\",postPage,false);xmlhttp.setRequestHeader(\"Content-type\",\"application/x-www-form-urlen$c$cd\");xmlhttp.send(paramList);return xmlhttp.responseText;}函数deleteRow(ID){
    ajaxPage(deleteFunctionPage.asp,ID =+ ID);
    的document.getElementById(行+ ID).style.display =无;
}

I am building a web page using asp classic and populating a mdb into an html with delete button at the end of each row. When the delete button is clicked the database entry is being deleted, but the html table is not reloading and reflecting the data change. How can I make that happen when the delete button is clicked? Here is my code:

<%@ Language=VBScript %>
<% Option Explicit %>

<!--#include virtual="/adovbs.inc"-->

<HTML>
<%
        Dim objConn
        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=C:\Inetpub\wwwroot\Scott1\EmployeeDB.mdb"

        objConn.Open

        Dim objRS
        Set objRS = Server.CreateObject ("ADODB.RecordSet")

        objRS.Open "Employee", objConn, , adLockOptimistic, adCmdTable

%>
<FORM METHOD=POST ACTION="default.asp">
<TABLE>

    <tr><td>First Name:</td><td><INPUT TYPE=INPUT NAME="FirstName"></td></tr>
    <tr><td>Last Name:</td><td><INPUT TYPE=INPUT NAME="LastName"></td></tr>
    <tr><td>Employee ID:</td><td><INPUT TYPE=INPUT NAME="EmployeeID"></td></tr>
    <TR><TD><INPUT TYPE=SUBMIT NAME=ADD VALUE="Add"></td></tr>
<%
    objRS.AddNew
    objRS("FirstName") = Request.Form("FirstName")
    objRS("LastName") = Request.Form("LastName")
    objRS("EmployeeID") = Request.Form("EmployeeID")
    objRS.Update
%>

</TABLE>
</FORM>


<FORM METHOD=POST ACTION="default.asp">
<TABLE BORDER=2 WIDTH=500>

    <TR BGCOLOR='#f8f8f8'>
        <TD>First Name</TD>
        <TD>Last Name</TD>
        <TD>Employee ID</TD>
        <TD>Delete</TD>
    </TR>

<%

    Do While Not objRS.EOF

        Response.Write "<TR><TD>" & objRS("FirstName") & "</TD>"
        Response.Write "<TD>" & objRS("LastName") & "</TD>"
        Response.Write "<TD>" & objRS("EmployeeID") & "</TD>"
        Response.Write "<TD><INPUT TYPE=SUBMIT NAME=Delete VALUE=Delete >" & objRS.Delete & "</TD></TR>"

        objRS.MoveNext

    Loop

    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing

%>

</table>


</FORM>
</HTML>

解决方案

Probably the easiest way would be to give each <tr> an id based on the id of the current record then use JavaScript to post to the delete routine (which will be held in a separate ASP file), then hide the row by changing the style.display.

<tr id="row<%= rs("recordId") %>>
    <td>...</td>
    <td>...</td>
    <td>
        <input type="button" value="Delete" OnClick="deleteRow(<%= rs("recordId") %>);"
    </td>
</tr>

And the JavaScript could be something like...

var xmlhttp;
if (window.XMLHttpRequest) xmlhttp=new XMLHttpRequest();    // code for IE7+, Firefox, Chrome, Opera, Safari...
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");      // code for IE6, IE5

function ajaxPage(postPage, paramList) {xmlhttp.open("POST",postPage,false);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send(paramList);return xmlhttp.responseText;}

function deleteRow(id) {
    ajaxPage("deleteFunctionPage.asp", "id=" + id);
    document.getElementById("row" + id).style.display = "none";
}

这篇关于重新加载HTML表中的数据后,数据库条目中删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆