kurupt_89
kurupt_89

Reputation: 1592

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

Upvotes: 1

Views: 6838

Answers (2)

Tom Gullen
Tom Gullen

Reputation: 61727

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.

Upvotes: 3

Ed Manet
Ed Manet

Reputation: 3178

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.

Upvotes: 1

Related Questions