简体   繁体   中英

Button Click for asp to Delete Row in SQL server - classic asp and vbscript

I've created a webpage in asp to display a table from SQL database. I then added Buttons to each table row to update and delete each row code -

    do while not objRS.EOF

    %>

    <tr> 
        <td><%= objRS("Id") %> </td>
        <td><%= objRS("Name") %> </td>
        <td><%= objRS("Address") %></td>
        <td><%= objRS("Suburb") %></td>
        <td><%= objRS("Postcode") %></td>
        <td><%= objRS("Age") %></td>
        <td><%= objRS("Email") %></td>
        <td><Center><input type="submit" value="Update"></Center></td>
        <td><center><input type="Submit" onclick="delete(<%= objRS("Id") %>)" value="Delete"></center></td>
    </tr>
    <%
        objRS.MoveNext
        loop    
        objCon.close
    %>

also i the code to delete -

    Function delete(index)

        Dim objCon, objRS, dSQL      
        set objCon = CreateObject("ADODB.Connection")
        objCon.open "Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=xxxx;Initial Catalog=Customer;Data Source=PC"

        dSQL = "DELETE FROM Customer WHERE Id=" & index

        objCon.execute(dSQL)            
        objCon.close     
    End Function

I've looked everywhere but cant seem to find how to identify each different button and delete the corresponding row from the database

In each row have:

<a href="Page.asp?action=delete&ID=<%= objRS("Id") %>">Delete this</a>

Then the receiving page, have the code:

Dim strAction

strAction = request.querystring("action")
if(strAction = "delete")

    'Verify ID
    'Perform deletion
    'Redirect

end if

This is how you would traditionally delete it. In your example, you seem to want an AJAX function. Add this to the top of your page:

<script type="text/javascript">
    function delete(RecordID){
        alert(RecordID);
    }
</script>

That's the Javascript function you are trying to call when delete is clicked. So that would be your template to call an AJAX request to the delete script if that is the way you want to do it.

It looks like you're trying to invoke ASP code with Javascript. That ain't gonna work.

If you had your delete function in a separate ASP script, then you can create a Javascript method to handle the button clicks and call the other ASP script, either directly with a GET or with an Ajax call. Then you'd have to reload the original page.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM