按钮单击 asp 以删除 SQL 服务器中的行 - 经典 asp 和 vbscript

Posted

技术标签:

【中文标题】按钮单击 asp 以删除 SQL 服务器中的行 - 经典 asp 和 vbscript【英文标题】:Button Click for asp to Delete Row in SQL server - classic asp and vbscript 【发布时间】:2011-05-24 12:56:43 【问题描述】:

我在 asp 中创建了一个网页来显示来自 SQL 数据库的表。然后我将按钮添加到每个表格行以更新和删除每个行代码 -

    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
    %>

还有要删除的代码 -

    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

我到处寻找,但似乎找不到如何识别每个不同的按钮并从数据库中删除相应的行

【问题讨论】:

【参考方案1】:

每一行都有:

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

然后是接收页面,有代码:

Dim strAction

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

    'Verify ID
    'Perform deletion
    'Redirect

end if

这是您传统上删除它的方式。在您的示例中,您似乎想要一个 AJAX 函数。将此添加到页面顶部:

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

这是您在单击删除时尝试调用的 Javascript 函数。如果这是您想要的方式,那么这将是您向删除脚本调用 AJAX 请求的模板。

【讨论】:

谢谢,我只是新手(2 天)并且还在习惯它,但是你和另一个人说我正在使用 javascript。我只应该使用 vbscript,所以如果你能指出我在哪里使用 javascript,那就太好了。我的印象是程序也是 vbscript。另外,有没有办法将提交按钮与您在上面提供的 href 链接? @Kurupt onclick 将运行 Javascript 代码,它是在 html 元素上调用的客户端函数。如果您想使用按钮,您可以将名为将用户重定向到删除页面的功能作为一种解决方案。在谷歌上查找“Javascript 重定向”。 谢谢,现在更有意义了 我会警惕使用超链接删除记录。请参阅When do you use POST and when do you use GET? 的答案。接收页面至少应显示确认信息。 @Cheran 我通常在超链接上放一个onclick="return confirm('Are you sure')",但 UI 超出了这个问题的范围。【参考方案2】:

您似乎正在尝试使用 Javascript 调用 ASP 代码。那是行不通的。

如果您在单独的 ASP 脚本中拥有删除功能,那么您可以创建一个 Javascript 方法来处理按钮单击并调用其他 ASP 脚本,可以直接使用 GET 或使用 Ajax 调用。然后你必须重新加载原始页面。

【讨论】:

以上是关于按钮单击 asp 以删除 SQL 服务器中的行 - 经典 asp 和 vbscript的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮,将数据添加到 SQL 并再次单击以删除数据,需要 php 代码

ASP.NET MVC 按钮单击表格行总是返回第一行(模式)

如何在反应中更新按钮单击ag网格中的行

正确委派自定义 Cell 中的按钮操作以删除 UITableView 中的行

如何创建“删除按钮以从C#中删除SQL Server数据库中的网格列”?

单击按钮删除后TableView删除