作者mygod1220 (晴天)
看板C_Sharp
标题Re: [问题] ASP.NET的sqlDataSource无法删除资料
时间Sun Apr 9 00:25:41 2006
※ 引述《liunate (i miss you)》之铭言:
: ※ 引述《mygod1220 (晴天)》之铭言:
: : [删除的按钮按下]
: : protected void DelAlbum(object sender, System.EventArgs e)
: : {
: : SqlDataSource1.Delete();
: : }
: 首先, 你要求SqlDataSource1执行删除的动作
: : <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString=
: : "<%$ ConnectionStrings:ClubsiteDB %>"
: : DeleteCommand="DELETE from Albums WHERE albumid=@albumid"
: 再来, SqlDataSource1根据他有的DeleteCommand得知要执行的是
: "DELETE from Albums WHERE albumid=@albumid"
: 注意这边有个@albumid在里面, 这代表在执行Delete的时候, 会需要一个DeleteParameter
: : <DeleteParameters>
: : <asp:QueryStringParameter Name="albumid" QueryStringField="AlbumID" />
: : </DeleteParameters>
: 这边是你的DeleteParameters集合, 会包含你要执行DELETE时所需要的一切参数
: 这边你将唯一需要的一个Parameter设定为QueryStringParameter, 代表需要取得这个
: Parameter的时候会从网址列的QueryString取得, 但是你应该没有指定QueryString中
: AlbumId这个栏位吧? :]
我有把QueryStringField="AlbumID",因为我看其他地方的删除参数也是只有这样写
但我不知道哪边出了问题...会是表单设定上的问题吗...
我把整段程式码贴上...请大家帮我检查一下
http://www.csie.ntu.edu.tw/~r94095/PhotoAlbum_List.txt
感谢!
: 之所以不会出错的原因 应该也是在於这个QueryStringParameter预设将Null设定为不
: 执行动作(请参考SqlDataSource属性中, 关於DeleteParameters集合)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.135.123