我使用GridView
和SqlDataSource
进行选择,更新和删除,
并且DetailsView
用于插入,问题是,当我点击其中一个按钮时,我收到Delete
订单的错误(和{{1}相同的错误}和Insert
..):
数据源' SqlDataSource1'不支持删除。除非 指定了DeleteCommand。
自己添加这些语句非常费劲,在某些情况下我需要定义存储过程。我问,因为我读了(但不记得在哪里,不幸的是)一个教程,Visual Studio自动生成所有这些。
源代码:
Update
答案 0 :(得分:2)
将DeleteCommand
添加到SqlDataSource
:
DeleteCommand="Delete from yourTable WHERE (ID = @ID)"
像这样:
<asp:SqlDataSource runat="server" DeleteCommand="Delete from yourTable WHERE (ID = @ID)">
<DeleteParameters>
<asp:Parameter Name="ID"></asp:Parameter>
</DeleteParameters>
</asp:SqlDataSource>
编辑:要让ASP.NET在没有任何代码的情况下自动为您生成DELETE
命令,请执行以下步骤:
SqlDataSource
的任务窗口中,点击配置数据源。选择删除标签,然后点击查询构建器,选择您的表格,然后通过帮助查询构建器窗口。你的查询最终应该是这样的:
Delete from yourTable WHERE (ID = @ID)
最后点击下一步并完成。