如何将删除参数值输入到代码后面?

时间:2013-09-27 11:10:36

标签: mysql asp.net listview sqldatasource

我有一个能够删除的ListView,我还使用SQLDatasource作为ListView的DataSource,我有这两个表:

News table that contains news_id, title, etc.. and 
Feedback table that contains feedback_id, comment, news_id(FK), etc...

我可以删除没有评论的记录但是当我尝试删除有评论的新闻时我收到此错误,评论来自表“反馈”,其中有一个外键'news_id'来自表'新闻',我知道要解决这个问题,我需要先从反馈表中删除记录。我怎样才能实现它?我正在考虑在ListView中使用OnItemDeleting事件并执行查询:

DELETE FROM Feedback WHERE news_id = @news_id

然后它可以继续执行SQLDataSource中的DeleteCommand:

DeleteCommand="DELETE FROM [News] WHERE [news_id] = @news_id"

然后我收到了这个错误:

Must declare the scalar variable "@news_id".

这是我的DeleteParameter:

<DeleteParameters>
<asp:Parameter Name="news_id" Type="Int32" />
</DeleteParameters>

如何从DeleteParameter获取news_id? 任何答案都表示赞赏,谢谢。

1 个答案:

答案 0 :(得分:0)

我通过编辑表格的外键关系解决了我的问题,更改了 INSERT和UPDATE规范&gt;从无操作中删除规则级联。不再需要OnItemDeleting,我会发布这个作为答案,所以如果有人也遇到这个问题。

enter image description here